@alphauspkgs/blue-sdk-ts 1.0.17 → 1.0.19

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.
@@ -3,15 +3,15 @@
3
3
  // @generated from file cover/v1/cover.proto (package blueapi.cover.v1, syntax proto3)
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ContainerCostUsageRequest_TimeGranularity = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = exports.ContainerCostUsageRequest_FilterCriteriaSchema = exports.ContainerCostUsageRequestSchema = exports.ResetDemoDataResponseSchema = exports.ResetDemoDataRequestSchema = exports.PopulateDemoDataResponseSchema = exports.PopulateDemoDataRequestSchema = exports.GetCostUsageV2Request_CategorySchema = exports.GetCostUsageV2Request_Category = exports.GetCostUsageV2Request_GranularitySchema = exports.GetCostUsageV2Request_Granularity = exports.GetCostUsageV2RequestSchema = exports.GetCostUsageV2ResponseSchema = exports.DeleteCostForecastResponseSchema = exports.DeleteCostForecastRequestSchema = exports.UpdateCostForecastResponseSchema = exports.UpdateCostForecastRequestSchema = exports.GetCostForecastResponseSchema = exports.GetCostForecastRequestSchema = exports.CreateCostForecastResponseSchema = exports.CreateCostForecastRequestSchema = exports.ListForecastsResponseSchema = exports.ListForecastsRequestSchema = exports.GetCostForecastsDataResponseSchema = exports.GetCostForecastsDataRequest_GranularitySchema = exports.GetCostForecastsDataRequest_Granularity = exports.GetCostForecastsDataRequestSchema = exports.GetRecommendationV3Response_RecommendationDetailSchema = exports.GetRecommendationV3ResponseSchema = exports.GetRecommendationV3RequestSchema = exports.RecommendationSummarySchema = exports.ListRecommendationsV3RequestSchema = exports.ExecuteRecommendationV3ResponseSchema = exports.ExecuteRecommendationV3Request_ExecuteTypeSchema = exports.ExecuteRecommendationV3Request_ExecuteType = exports.ExecuteRecommendationV3RequestSchema = exports.InviteUsersResponseSchema = exports.InviteUsersRequestSchema = exports.DeleteUserResponseSchema = exports.DeleteUserRequestSchema = exports.UpdateUserRoleResponseSchema = exports.UpdateUserRoleRequestSchema = exports.ListUsersResponse_UserSummarySchema = exports.ListUsersResponseSchema = exports.ListUsersRequestSchema = exports.ReinviteUserResponseSchema = exports.ReinviteUserRequestSchema = exports.file_cover_v1_cover = void 0;
7
- exports.UpdateUserIconRequestSchema = exports.UpdateUserAvatarResponseSchema = exports.UpdateUserAvatarRequestSchema = exports.GetUserDetailsResponseSchema = exports.GetUserDetailsRequestSchema = exports.UpdateMemberPermissionResponseSchema = exports.UpdateMemberPermissionRequestSchema = exports.GetMemberCostGroupResponseSchema = exports.GetMemberCostGroupRequestSchema = exports.GetMemberDetailsResponseSchema = exports.GetMemberDetailsRequestSchema = exports.GetMembersResponseSchema = exports.GetMembersRequestSchema = exports.CreateMemberResponseSchema = exports.CreateMemberRequestSchema = exports.ActivateUserResponseSchema = exports.ActivateUserRequestSchema = exports.InviteMemberResponseSchema = exports.InviteMemberRequestSchema = exports.OnboardOrgResponseSchema = exports.OnboardOrgRequestSchema = exports.GetRecommendationV2ResponseSchema = exports.GetRecommendationV2RequestSchema = exports.VerifyAPIAccessResponseSchema = exports.VerifyAPIAccessRequestSchema = exports.GetExecutionStatusResponseSchema = exports.GetExecutionStatusRequestSchema = exports.GetAICostAndUsageResponse_ResultSchema = exports.GetAICostAndUsageResponse_MetricSchema = exports.GetAICostAndUsageResponse_UsageSchema = exports.GetAICostAndUsageResponse_CostSchema = exports.GetAICostAndUsageResponseSchema = exports.GetAICostAndUsageRequest_GranularitySchema = exports.GetAICostAndUsageRequest_Granularity = exports.GetAICostAndUsageRequest_Filter_OperatorSchema = exports.GetAICostAndUsageRequest_Filter_Operator = exports.GetAICostAndUsageRequest_FilterSchema = exports.GetAICostAndUsageRequestSchema = exports.ContainerCostUsageResponse_GroupedResultSchema = exports.ContainerCostUsageResponse_ResourceHighlightsSchema = exports.ContainerCostUsageResponse_ResourceHighlightSchema = exports.ContainerCostUsageResponse_MetricDataPointSchema = exports.ContainerCostUsageResponse_UsageMetricSchema = exports.ContainerCostUsageResponse_CostMetricSchema = exports.ContainerCostUsageResponseSchema = exports.ContainerCostUsageRequest_ServiceTypeSchema = exports.ContainerCostUsageRequest_ServiceType = exports.ContainerCostUsageRequest_MetricTypeSchema = exports.ContainerCostUsageRequest_MetricType = exports.ContainerCostUsageRequest_TimeGranularitySchema = void 0;
8
- exports.GetOrgUpdateCurrencyRequestSchema = exports.SetOrgUpdateCurrencyResponseSchema = exports.SetOrgUpdateCurrencyRequestSchema = exports.UpdateViewCurrencyResponseSchema = exports.UpdateViewCurrencyRequestSchema = exports.UpdateViewColorThemeResponseSchema = exports.UpdateViewColorThemeRequestSchema = exports.UpdateViewWidgetResponseSchema = exports.UpdateViewWidgetRequestSchema = exports.UpdateViewLayoutResponseSchema = exports.UpdateViewLayoutRequestSchema = exports.UpdateViewResponseSchema = exports.UpdateViewRequestSchema = exports.RemoveFavoriteResponseSchema = exports.RemoveFavoriteRequestSchema = exports.AddFavoriteResponseSchema = exports.AddFavoriteRequestSchema = exports.PublishViewResponseSchema = exports.PublishViewRequestSchema = exports.GetFavoriteViewsResponseSchema = exports.GetFavoriteViewsRequestSchema = exports.GetCurrentViewResponseSchema = exports.GetCurrentViewRequestSchema = exports.GetViewsResponseSchema = exports.GetViewsRequestSchema = exports.CreateViewResponseSchema = exports.CreateViewRequestSchema = exports.ResetPasswordResponseSchema = exports.ResetPasswordRequestSchema = exports.DeleteMemberResponseSchema = exports.DeleteMemberRequestSchema = exports.UpdateUserAttributesResponseSchema = exports.UpdateUserAttributesRequestSchema = exports.UpdateUserTimezoneResponseSchema = exports.UpdateUserTimezoneRequestSchema = exports.UpdateUserAppThemeResponseSchema = exports.UpdateUserAppThemeRequestSchema = exports.UpdateUserLocaleResponseSchema = exports.UpdateUserLocaleRequestSchema = exports.ResetUserPasswordResponseSchema = exports.ResetUserPasswordRequestSchema = exports.UpdateUserMainViewResponseSchema = exports.UpdateUserMainViewRequestSchema = exports.UpdateUserEmailResponseSchema = exports.UpdateUserEmailRequestSchema = exports.UpdateUserNameResponseSchema = exports.UpdateUserNameRequestSchema = exports.UpdateUserColorThemeResponseSchema = exports.UpdateUserColorThemeRequestSchema = exports.UpdateUserIconResponseSchema = void 0;
9
- exports.ResourceSchema = exports.ListAssetsFiltersSchema = exports.ListAssetsRequestSchema = exports.RegisterAccountRequestSchema = exports.DeleteAccountAccessResponseSchema = exports.DeleteAccountAccessRequestSchema = exports.UpdateAccountAccessRequestSchema = exports.CreateAccountAccessStacksetRequestSchema = exports.CreateAccountAccessRequestSchema = exports.AccountAccessSchema = exports.GetAccountAccessRequestSchema = exports.ListAccountAccessRequestSchema = exports.GetAccountAccessTemplateUrlResponseSchema = exports.GetAccountAccessTemplateUrlRequestSchema = exports.DeleteCostGroupResponseSchema = exports.DeleteCostGroupRequestSchema = exports.RemoveCostGroupMemberResponseSchema = exports.RemoveCostGroupMemberRequestSchema = exports.AssignCostGroupMemberResponseSchema = exports.AssignCostGroupMemberRequestSchema = exports.UpdateCostGroupCombinationsResponseSchema = exports.UpdateCostGroupCombinationsRequestSchema = exports.UpdateCostGroupColorThemeResponseSchema = exports.UpdateCostGroupColorThemeRequestSchema = exports.UpdateCostGroupIconResponseSchema = exports.UpdateCostGroupIconRequestSchema = exports.UpdateCostGroupImageResponseSchema = exports.UpdateCostGroupImageRequestSchema = exports.UpdateCostGroupDescriptionResponseSchema = exports.UpdateCostGroupDescriptionRequestSchema = exports.UpdateCostGroupNameResponseSchema = exports.UpdateCostGroupNameRequestSchema = exports.GetCostGroupDetailsResponseSchema = exports.GetCostGroupDetailsRequestSchema = exports.GetCostGroupsResponseSchema = exports.GetCostGroupsRequestSchema = exports.CreateCostGroupResponseSchema = exports.CreateCostGroupRequestSchema = exports.RemoveSideMenuFavoriteResponseSchema = exports.RemoveSideMenuFavoriteRequestSchema = exports.AddSideMenuFavoriteResponseSchema = exports.AddSideMenuFavoriteRequestSchema = exports.UpdateSideMenuStateResponseSchema = exports.UpdateSideMenuStateRequestSchema = exports.DeleteViewResponseSchema = exports.DeleteViewRequestSchema = exports.ExchangeRatesSchema = exports.ListExchangeRatesResponseSchema = exports.ListExchangeRatesRequestSchema = exports.GetOrgUpdateCurrencyResponseSchema = void 0;
10
- exports.GetAllocationSourcesResponse_AllocationSourcesSchema = exports.GetAllocationSourcesResponseSchema = exports.GetAllocationSourcesRequestSchema = exports.GetAllocationAttributesResponse_AllocationAttributeSchema = exports.GetAllocationAttributesResponseSchema = exports.GetAllocationAttributesRequestSchema = exports.CreateAllocatorRequestSchema = exports.ListAllocatorsRequestSchema = exports.CostAllocatorRequestSchema = exports.CostAllocatorDetailsSchema = exports.CriteriaSchema = exports.AllocatorSchema = exports.FeeItemSchema = exports.GetCostGroupFeeRequestSchema = exports.RestoreFeeRequestSchema = exports.FeeDetailsSchema = exports.ListFeesRequestSchema = exports.GetTagsResponseSchema = exports.GetTagsRequestSchema = exports.GetRegionsResponseSchema = exports.GetRegionsRequestSchema = exports.GetServicesResponseSchema = exports.GetServicesRequestSchema = exports.GetAccountsResponseSchema = exports.GetAccountsRequestSchema = exports.GetPayersResponseSchema = exports.GetPayersRequestSchema = exports.AssignPayerResponseSchema = exports.AssignPayerRequestSchema = exports.UploadChargeCodeResponseSchema = exports.UploadChargeCodeRequestSchema = exports.TerminateResourceResponseSchema = exports.TerminateResourceRequestSchema = exports.ModifyResourceTypeResponseSchema = exports.ModifyResourceTypeRequestSchema = exports.GetRightSizingRecommendationResponseSchema = exports.GetRightSizingRecommendationRequestSchema = exports.CostItemSchema = exports.ReadCostsRequestOptionsFiltersSchema = exports.GetCostUsageRequestCustomOptionsSchema = exports.GetCostUsageRequestAzureCspOptionsSchema = exports.GetCostUsageRequestGcpOptionsSchema = exports.GetCostUsageRequestAzureOptionsSchema = exports.GetCostUsageRequestAwsOptionsSchema = exports.GetCostUsageRequestSchema = exports.ResolveCostGroupCombinationsResponseSchema = exports.ResolveCostGroupCombinationsRequestSchema = exports.AssetsSummarySchema = exports.GetAssetsSummaryResponseSchema = exports.GetAssetsSummaryRequestSchema = void 0;
11
- exports.GetAnomalyinCostGroupRequestSchema = exports.GetDiscountRecommendationsResponseSchema = exports.GetDiscountRecommendationsRequestSchema = exports.UpdateChannelDetailsResponseSchema = exports.UpdateChannelDetailsRequestSchema = exports.DeleteChannelResponseSchema = exports.DeleteChannelRequestSchema = exports.GetChannelDetailsResponseSchema = exports.GetChannelDetailsRequestSchema = exports.CreateChannelResponseSchema = exports.CreateChannelRequestSchema = exports.GetChannelsResponseSchema = exports.GetChannelsRequestSchema = exports.UpdateAlertDetailsResponseSchema = exports.UpdateAlertDetailsRequestSchema = exports.DeleteAlertResponseSchema = exports.DeleteAlertRequestSchema = exports.GetAlertDetailsResponseSchema = exports.GetAlertDetailsRequestSchema = exports.CreateAlertResponseSchema = exports.CreateAlertRequestSchema = exports.GetAlertsResponseSchema = exports.GetAlertsRequestSchema = exports.GetCategoriesResponseSchema = exports.GetCategoriesRequestSchema = exports.GetCostGroupAttributeResponseSchema = exports.GetCostGroupAttributeRequestSchema = exports.AddMpnSettingRequestSchema = exports.AddPartnerCenterCredentialsRequestSchema = exports.GetAndDeleteDataAccessRequestSchema = exports.BillingAccountRequestSchema = exports.UnregisteredAcctsSchema = exports.ListUnregisteredAccountsResponseSchema = exports.ListUnregisteredAccountsRequestSchema = exports.ListDataAccessRequestSchema = exports.UpdateDataAccessRequestSchema = exports.RegisterDataAccessRequestSchema = exports.DataAccessSchema = exports.ProcessAuth0UserResponseSchema = exports.ProcessAuth0UserRequestSchema = exports.AllocationItemSchema = exports.GetCostGroupAllocationRequestSchema = exports.SavingsDetailsSchema = exports.RestoreSavingsRequestSchema = exports.RestoreAccountUsageRequestSchema = exports.ListAccountUsageRequestSchema = exports.AccountUsageDetailsSchema = exports.ProxyCreateCompletionResponseSchema = exports.ProxyCreateCompletionRequestSchema = exports.DeleteAllocatorRequestSchema = void 0;
12
- exports.MarkAsExecutedRequestSchema = exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = exports.ExecuteOptimizationResponse_GCPOptionSchema = exports.ExecuteOptimizationResponse_AWSOptionSchema = exports.ExecuteOptimizationResponseSchema = exports.ExecuteOptimizationRequestSchema = exports.GetRecommendationResponseSchema = exports.GetRecommendationRequestSchema = exports.ListRecommendationResponse_PurchaseOptionSchema = exports.ListRecommendationResponseSchema = exports.ListRecommendationV2Request_RateSettingsSchema = exports.ListRecommendationV2RequestSchema = exports.ListRecommendationRequestSchema = exports.GetReportSummaryResponseSchema = exports.GetReportSummaryRequestSchema = exports.AddInfotoMarketplaceResponseSchema = exports.AddInfotoMarketplaceRequestSchema = exports.CreateProfilingResponseSchema = exports.CreateProfilingRequestSchema = exports.GetCustomerSubscriptionStatusResponseSchema = exports.GetCustomerSubscriptionStatusRequestSchema = exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = exports.UpdateBudgetResponseSchema = exports.UpdateBudgetRequestSchema = exports.DeleteBudgetResponseSchema = exports.DeleteBudgetRequestSchema = exports.CreateBudgetResponseSchema = exports.CreateBudgetRequestSchema = exports.GetBudgetResponseSchema = exports.GetBudgetRequestSchema = exports.ListBudgetsResponseSchema = exports.ListBudgetsRequestSchema = exports.UpdateUserProfileResponseSchema = exports.UpdateUserProfileRequestSchema = exports.GetUserProfileResponseSchema = exports.GetUserProfileRequestSchema = exports.RegisterNewUserResponseSchema = exports.RegisterNewUserRequestSchema = exports.UpdateAnomalyAlertRequestSchema = exports.ListAnomalyAlertRequestSchema = exports.AnomalyAlertDataSchema = exports.ManipulateAnomalyAlertRequestSchema = exports.CreateAnomalyAlertRequestSchema = exports.ListDiscountExpirationAlertRequestSchema = exports.DiscountExpiryAlertDataSchema = exports.UpdateDiscountExpirationAlertRequestSchema = exports.ManipulateDiscountExpirationAlertRequestSchema = exports.CreateDiscountExpirationAlertRequestSchema = exports.AnomalyDataSchema = void 0;
13
- exports.GetUnitMetricRequestSchema = exports.CreateUnitMetricResponseSchema = exports.CreateUnitMetricRequestSchema = exports.ListUnitMetricsResponseSchema = exports.ListUnitMetricsRequestSchema = exports.DeleteSharedResourcesResponseSchema = exports.DeleteSharedResourcesRequestSchema = exports.UpdateSharedResourcesResponseSchema = exports.UpdateSharedResourcesRequestSchema = exports.GetSharedResourcesResponseSchema = exports.GetSharedResourcesRequestSchema = exports.CreateSharedResourcesResponseSchema = exports.CreateSharedResourcesRequestSchema = exports.ListSharedResourcesResponseSchema = exports.ListSharedResourcesRequestSchema = exports.CreateUnitFromSuggestedResponseSchema = exports.CreateUnitFromSuggestedRequestSchema = exports.MergeSuggestedUnitsResponseSchema = exports.MergeSuggestedUnitsRequestSchema = exports.ListSuggestedUnitsResponseSchema = exports.ListSuggestedUnitsRequestSchema = exports.MergeUnitsResponseSchema = exports.MergeUnitsRequestSchema = exports.DeleteUnitTypeResponseSchema = exports.DeleteUnitTypeRequestSchema = exports.UpdateUnitTypeResponseSchema = exports.UpdateUnitTypeRequestSchema = exports.GetUnitTypeResponseSchema = exports.GetUnitTypeRequestSchema = exports.CreateUnitTypeResponseSchema = exports.CreateUnitTypeRequestSchema = exports.ListUnitTypesResponseSchema = exports.ListUnitTypesRequestSchema = exports.UpdateCostGroupCreationUIResponseSchema = exports.UpdateCostGroupCreationUIRequestSchema = exports.TransferOrganizationResponseSchema = exports.TransferOrganizationRequestSchema = exports.GetOrgFiscalMonthResponseSchema = exports.GetOrgFiscalMonthRequestSchema = exports.SetOrgFiscalMonthResponseSchema = exports.SetOrgFiscalMonthRequestSchema = exports.SetCostGroupAnomalyOptionsResponseSchema = exports.SetCostGroupAnomalyOptionsRequestSchema = exports.SetCostGroupEventIndicatorResponseSchema = exports.SetCostGroupEventIndicatorRequestSchema = exports.OptimizationHistoryResponseSchema = exports.OptimizationHistoryRequestSchema = exports.UndoExecutedRecommendationResponseSchema = exports.UndoExecutedRecommendationRequestSchema = exports.MarkAsExecutedResponseSchema = void 0;
14
- exports.Cover = exports.StatusSchema = exports.Status = exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = exports.ListUntaggedResourcesResponseSchema = exports.ListUntaggedResourcesRequestSchema = exports.ListNonperformingRateResponse_NonperformingSchema = exports.ListNonperformingRateResponseSchema = exports.ListNonperformingRateRequestSchema = exports.GetDiscountPlanResponseSchema = exports.GetDiscountPlanRequestSchema = exports.GetCloudwatchMetadataResponse_DimensionSchema = exports.GetCloudwatchMetadataResponseSchema = exports.GetCloudwatchMetadataRequestSchema = exports.ConfirmGoogleSheetAccessResponseSchema = exports.ConfirmGoogleSheetAccessRequestSchema = exports.PreviewGoogleSheetResponseSchema = exports.PreviewGoogleSheetRequestSchema = exports.DeleteUnitMetricResponseSchema = exports.DeleteUnitMetricRequestSchema = exports.UpdateUnitMetricResponseSchema = exports.UpdateUnitMetricRequestSchema = exports.GetUnitMetricResponseSchema = void 0;
6
+ exports.ContainerCostUsageRequestSchema = exports.ResetDemoDataResponseSchema = exports.ResetDemoDataRequestSchema = exports.PopulateDemoDataResponseSchema = exports.PopulateDemoDataRequestSchema = exports.GetCostUsageV2Request_CategorySchema = exports.GetCostUsageV2Request_Category = exports.GetCostUsageV2Request_GranularitySchema = exports.GetCostUsageV2Request_Granularity = exports.GetCostUsageV2RequestSchema = exports.GetCostUsageV2ResponseSchema = exports.DeleteCostForecastResponseSchema = exports.DeleteCostForecastRequestSchema = exports.UpdateCostForecastResponseSchema = exports.UpdateCostForecastRequestSchema = exports.GetCostForecastResponseSchema = exports.GetCostForecastRequestSchema = exports.CreateCostForecastResponseSchema = exports.CreateCostForecastRequestSchema = exports.ListForecastsResponseSchema = exports.ListForecastsRequestSchema = exports.GetCostForecastsDataResponseSchema = exports.GetCostForecastsDataRequest_GranularitySchema = exports.GetCostForecastsDataRequest_Granularity = exports.GetCostForecastsDataRequestSchema = exports.GetRecommendationV3Response_RecommendationDetailSchema = exports.GetRecommendationV3ResponseSchema = exports.GetRecommendationV3RequestSchema = exports.RecommendationSummarySchema = exports.ListRecommendationsV3RequestSchema = exports.ExecuteRecommendationV3ResponseSchema = exports.ExecuteRecommendationV3Request_ExecuteTypeSchema = exports.ExecuteRecommendationV3Request_ExecuteType = exports.ExecuteRecommendationV3RequestSchema = exports.InviteUsersResponseSchema = exports.InviteUsersRequestSchema = exports.DeleteUserResponseSchema = exports.DeleteUserRequestSchema = exports.UpdateUserRoleResponseSchema = exports.UpdateUserRoleRequestSchema = exports.ListUsersResponse_UserSummarySchema = exports.ListUsersResponseSchema = exports.ListUsersRequestSchema = exports.ReinviteUserResponseSchema = exports.ReinviteUserRequestSchema = exports.GetUserResponse_InvitedBySchema = exports.GetUserResponse_RoleSchema = exports.GetUserResponseSchema = exports.GetUserRequestSchema = exports.file_cover_v1_cover = void 0;
7
+ exports.GetUserDetailsRequestSchema = exports.UpdateMemberPermissionResponseSchema = exports.UpdateMemberPermissionRequestSchema = exports.GetMemberCostGroupResponseSchema = exports.GetMemberCostGroupRequestSchema = exports.GetMemberDetailsResponseSchema = exports.GetMemberDetailsRequestSchema = exports.GetMembersResponseSchema = exports.GetMembersRequestSchema = exports.CreateMemberResponseSchema = exports.CreateMemberRequestSchema = exports.ActivateUserResponseSchema = exports.ActivateUserRequestSchema = exports.InviteMemberResponseSchema = exports.InviteMemberRequestSchema = exports.OnboardOrgResponseSchema = exports.OnboardOrgRequestSchema = exports.GetRecommendationV2ResponseSchema = exports.GetRecommendationV2RequestSchema = exports.VerifyAPIAccessResponseSchema = exports.VerifyAPIAccessRequestSchema = exports.GetExecutionStatusResponseSchema = exports.GetExecutionStatusRequestSchema = exports.GetAICostAndUsageResponse_ResultSchema = exports.GetAICostAndUsageResponse_MetricSchema = exports.GetAICostAndUsageResponse_UsageSchema = exports.GetAICostAndUsageResponse_CostSchema = exports.GetAICostAndUsageResponseSchema = exports.GetAICostAndUsageRequest_GranularitySchema = exports.GetAICostAndUsageRequest_Granularity = exports.GetAICostAndUsageRequest_Filter_OperatorSchema = exports.GetAICostAndUsageRequest_Filter_Operator = exports.GetAICostAndUsageRequest_FilterSchema = exports.GetAICostAndUsageRequestSchema = exports.ContainerCostUsageResponse_GroupedResultSchema = exports.ContainerCostUsageResponse_ResourceHighlightsSchema = exports.ContainerCostUsageResponse_ResourceHighlightSchema = exports.ContainerCostUsageResponse_MetricDataPointSchema = exports.ContainerCostUsageResponse_UsageMetricSchema = exports.ContainerCostUsageResponse_CostMetricSchema = exports.ContainerCostUsageResponseSchema = exports.ContainerCostUsageRequest_ServiceTypeSchema = exports.ContainerCostUsageRequest_ServiceType = exports.ContainerCostUsageRequest_MetricTypeSchema = exports.ContainerCostUsageRequest_MetricType = exports.ContainerCostUsageRequest_TimeGranularitySchema = exports.ContainerCostUsageRequest_TimeGranularity = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = exports.ContainerCostUsageRequest_FilterCriteria_FilterOperator = exports.ContainerCostUsageRequest_FilterCriteriaSchema = void 0;
8
+ exports.UpdateViewCurrencyRequestSchema = exports.UpdateViewColorThemeResponseSchema = exports.UpdateViewColorThemeRequestSchema = exports.UpdateViewWidgetResponseSchema = exports.UpdateViewWidgetRequestSchema = exports.UpdateViewLayoutResponseSchema = exports.UpdateViewLayoutRequestSchema = exports.UpdateViewResponseSchema = exports.UpdateViewRequestSchema = exports.RemoveFavoriteResponseSchema = exports.RemoveFavoriteRequestSchema = exports.AddFavoriteResponseSchema = exports.AddFavoriteRequestSchema = exports.PublishViewResponseSchema = exports.PublishViewRequestSchema = exports.GetFavoriteViewsResponseSchema = exports.GetFavoriteViewsRequestSchema = exports.GetCurrentViewResponseSchema = exports.GetCurrentViewRequestSchema = exports.GetViewsResponseSchema = exports.GetViewsRequestSchema = exports.CreateViewResponseSchema = exports.CreateViewRequestSchema = exports.ResetPasswordResponseSchema = exports.ResetPasswordRequestSchema = exports.DeleteMemberResponseSchema = exports.DeleteMemberRequestSchema = exports.UpdateUserAttributesResponseSchema = exports.UpdateUserAttributesRequestSchema = exports.UpdateUserTimezoneResponseSchema = exports.UpdateUserTimezoneRequestSchema = exports.UpdateUserAppThemeResponseSchema = exports.UpdateUserAppThemeRequestSchema = exports.UpdateUserLocaleResponseSchema = exports.UpdateUserLocaleRequestSchema = exports.ResetUserPasswordResponseSchema = exports.ResetUserPasswordRequestSchema = exports.UpdateUserMainViewResponseSchema = exports.UpdateUserMainViewRequestSchema = exports.UpdateUserEmailResponseSchema = exports.UpdateUserEmailRequestSchema = exports.UpdateUserNameResponseSchema = exports.UpdateUserNameRequestSchema = exports.UpdateUserColorThemeResponseSchema = exports.UpdateUserColorThemeRequestSchema = exports.UpdateUserIconResponseSchema = exports.UpdateUserIconRequestSchema = exports.UpdateUserAvatarResponseSchema = exports.UpdateUserAvatarRequestSchema = exports.GetUserDetailsResponseSchema = void 0;
9
+ exports.DeleteAccountAccessResponseSchema = exports.DeleteAccountAccessRequestSchema = exports.UpdateAccountAccessRequestSchema = exports.CreateAccountAccessStacksetRequestSchema = exports.CreateAccountAccessRequestSchema = exports.AccountAccessSchema = exports.GetAccountAccessRequestSchema = exports.ListAccountAccessRequestSchema = exports.GetAccountAccessTemplateUrlResponseSchema = exports.GetAccountAccessTemplateUrlRequestSchema = exports.DeleteCostGroupResponseSchema = exports.DeleteCostGroupRequestSchema = exports.RemoveCostGroupMemberResponseSchema = exports.RemoveCostGroupMemberRequestSchema = exports.AssignCostGroupMemberResponseSchema = exports.AssignCostGroupMemberRequestSchema = exports.UpdateCostGroupCombinationsResponseSchema = exports.UpdateCostGroupCombinationsRequestSchema = exports.UpdateCostGroupColorThemeResponseSchema = exports.UpdateCostGroupColorThemeRequestSchema = exports.UpdateCostGroupIconResponseSchema = exports.UpdateCostGroupIconRequestSchema = exports.UpdateCostGroupImageResponseSchema = exports.UpdateCostGroupImageRequestSchema = exports.UpdateCostGroupDescriptionResponseSchema = exports.UpdateCostGroupDescriptionRequestSchema = exports.UpdateCostGroupNameResponseSchema = exports.UpdateCostGroupNameRequestSchema = exports.GetCostGroupDetailsResponseSchema = exports.GetCostGroupDetailsRequestSchema = exports.GetCostGroupsResponseSchema = exports.GetCostGroupsRequestSchema = exports.CreateCostGroupResponseSchema = exports.CreateCostGroupRequestSchema = exports.RemoveSideMenuFavoriteResponseSchema = exports.RemoveSideMenuFavoriteRequestSchema = exports.AddSideMenuFavoriteResponseSchema = exports.AddSideMenuFavoriteRequestSchema = exports.UpdateSideMenuStateResponseSchema = exports.UpdateSideMenuStateRequestSchema = exports.DeleteViewResponseSchema = exports.DeleteViewRequestSchema = exports.ExchangeRatesSchema = exports.ListExchangeRatesResponseSchema = exports.ListExchangeRatesRequestSchema = exports.GetOrgUpdateCurrencyResponseSchema = exports.GetOrgUpdateCurrencyRequestSchema = exports.SetOrgUpdateCurrencyResponseSchema = exports.SetOrgUpdateCurrencyRequestSchema = exports.UpdateViewCurrencyResponseSchema = void 0;
10
+ exports.GetAllocationAttributesResponseSchema = exports.GetAllocationAttributesRequestSchema = exports.CreateAllocatorRequestSchema = exports.ListAllocatorsRequestSchema = exports.CostAllocatorRequestSchema = exports.CostAllocatorDetailsSchema = exports.CriteriaSchema = exports.AllocatorSchema = exports.FeeItemSchema = exports.GetCostGroupFeeRequestSchema = exports.RestoreFeeRequestSchema = exports.FeeDetailsSchema = exports.ListFeesRequestSchema = exports.GetTagsResponseSchema = exports.GetTagsRequestSchema = exports.GetRegionsResponseSchema = exports.GetRegionsRequestSchema = exports.GetServicesResponseSchema = exports.GetServicesRequestSchema = exports.GetAccountsResponseSchema = exports.GetAccountsRequestSchema = exports.GetPayersResponseSchema = exports.GetPayersRequestSchema = exports.AssignPayerResponseSchema = exports.AssignPayerRequestSchema = exports.UploadChargeCodeResponseSchema = exports.UploadChargeCodeRequestSchema = exports.TerminateResourceResponseSchema = exports.TerminateResourceRequestSchema = exports.ModifyResourceTypeResponseSchema = exports.ModifyResourceTypeRequestSchema = exports.GetRightSizingRecommendationResponseSchema = exports.GetRightSizingRecommendationRequestSchema = exports.CostItemSchema = exports.ReadCostsRequestOptionsFiltersSchema = exports.GetCostUsageRequestCustomOptionsSchema = exports.GetCostUsageRequestAzureCspOptionsSchema = exports.GetCostUsageRequestGcpOptionsSchema = exports.GetCostUsageRequestAzureOptionsSchema = exports.GetCostUsageRequestAwsOptionsSchema = exports.GetCostUsageRequestSchema = exports.ResolveCostGroupCombinationsResponseSchema = exports.ResolveCostGroupCombinationsRequestSchema = exports.AssetsSummarySchema = exports.GetAssetsSummaryResponseSchema = exports.GetAssetsSummaryRequestSchema = exports.ResourceSchema = exports.ListAssetsFiltersSchema = exports.ListAssetsRequestSchema = exports.RegisterAccountRequestSchema = void 0;
11
+ exports.UpdateChannelDetailsRequestSchema = exports.DeleteChannelResponseSchema = exports.DeleteChannelRequestSchema = exports.GetChannelDetailsResponseSchema = exports.GetChannelDetailsRequestSchema = exports.CreateChannelResponseSchema = exports.CreateChannelRequestSchema = exports.GetChannelsResponseSchema = exports.GetChannelsRequestSchema = exports.UpdateAlertDetailsResponseSchema = exports.UpdateAlertDetailsRequestSchema = exports.DeleteAlertResponseSchema = exports.DeleteAlertRequestSchema = exports.GetAlertDetailsResponseSchema = exports.GetAlertDetailsRequestSchema = exports.CreateAlertResponseSchema = exports.CreateAlertRequestSchema = exports.GetAlertsResponseSchema = exports.GetAlertsRequestSchema = exports.GetCategoriesResponseSchema = exports.GetCategoriesRequestSchema = exports.GetCostGroupAttributeResponseSchema = exports.GetCostGroupAttributeRequestSchema = exports.AddMpnSettingRequestSchema = exports.AddPartnerCenterCredentialsRequestSchema = exports.GetAndDeleteDataAccessRequestSchema = exports.BillingAccountRequestSchema = exports.UnregisteredAcctsSchema = exports.ListUnregisteredAccountsResponseSchema = exports.ListUnregisteredAccountsRequestSchema = exports.ListDataAccessRequestSchema = exports.UpdateDataAccessRequestSchema = exports.RegisterDataAccessRequestSchema = exports.DataAccessSchema = exports.ProcessAuth0UserResponseSchema = exports.ProcessAuth0UserRequestSchema = exports.AllocationItemSchema = exports.GetCostGroupAllocationRequestSchema = exports.SavingsDetailsSchema = exports.RestoreSavingsRequestSchema = exports.RestoreAccountUsageRequestSchema = exports.ListAccountUsageRequestSchema = exports.AccountUsageDetailsSchema = exports.ProxyCreateCompletionResponseSchema = exports.ProxyCreateCompletionRequestSchema = exports.DeleteAllocatorRequestSchema = exports.GetAllocationSourcesResponse_AllocationSourcesSchema = exports.GetAllocationSourcesResponseSchema = exports.GetAllocationSourcesRequestSchema = exports.GetAllocationAttributesResponse_AllocationAttributeSchema = void 0;
12
+ exports.ExecuteOptimizationResponseSchema = exports.ExecuteOptimizationRequestSchema = exports.GetRecommendationResponseSchema = exports.GetRecommendationRequestSchema = exports.ListRecommendationResponse_PurchaseOptionSchema = exports.ListRecommendationResponseSchema = exports.ListRecommendationV2Request_RateSettingsSchema = exports.ListRecommendationV2RequestSchema = exports.ListRecommendationRequestSchema = exports.GetReportSummaryResponseSchema = exports.GetReportSummaryRequestSchema = exports.AddInfotoMarketplaceResponseSchema = exports.AddInfotoMarketplaceRequestSchema = exports.CreateProfilingResponseSchema = exports.CreateProfilingRequestSchema = exports.GetCustomerSubscriptionStatusResponseSchema = exports.GetCustomerSubscriptionStatusRequestSchema = exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = exports.UpdateBudgetResponseSchema = exports.UpdateBudgetRequestSchema = exports.DeleteBudgetResponseSchema = exports.DeleteBudgetRequestSchema = exports.CreateBudgetResponseSchema = exports.CreateBudgetRequestSchema = exports.GetBudgetResponseSchema = exports.GetBudgetRequestSchema = exports.ListBudgetsResponseSchema = exports.ListBudgetsRequestSchema = exports.UpdateUserProfileResponseSchema = exports.UpdateUserProfileRequestSchema = exports.GetUserProfileResponseSchema = exports.GetUserProfileRequestSchema = exports.RegisterNewUserResponseSchema = exports.RegisterNewUserRequestSchema = exports.UpdateAnomalyAlertRequestSchema = exports.ListAnomalyAlertRequestSchema = exports.AnomalyAlertDataSchema = exports.ManipulateAnomalyAlertRequestSchema = exports.CreateAnomalyAlertRequestSchema = exports.ListDiscountExpirationAlertRequestSchema = exports.DiscountExpiryAlertDataSchema = exports.UpdateDiscountExpirationAlertRequestSchema = exports.ManipulateDiscountExpirationAlertRequestSchema = exports.CreateDiscountExpirationAlertRequestSchema = exports.AnomalyDataSchema = exports.GetAnomalyinCostGroupRequestSchema = exports.GetDiscountRecommendationsResponseSchema = exports.GetDiscountRecommendationsRequestSchema = exports.UpdateChannelDetailsResponseSchema = void 0;
13
+ exports.ListUnitMetricsRequestSchema = exports.DeleteSharedResourcesResponseSchema = exports.DeleteSharedResourcesRequestSchema = exports.UpdateSharedResourcesResponseSchema = exports.UpdateSharedResourcesRequestSchema = exports.GetSharedResourcesResponseSchema = exports.GetSharedResourcesRequestSchema = exports.CreateSharedResourcesResponseSchema = exports.CreateSharedResourcesRequestSchema = exports.ListSharedResourcesResponseSchema = exports.ListSharedResourcesRequestSchema = exports.CreateUnitFromSuggestedResponseSchema = exports.CreateUnitFromSuggestedRequestSchema = exports.MergeSuggestedUnitsResponseSchema = exports.MergeSuggestedUnitsRequestSchema = exports.ListSuggestedUnitsResponseSchema = exports.ListSuggestedUnitsRequestSchema = exports.MergeUnitsResponseSchema = exports.MergeUnitsRequestSchema = exports.DeleteUnitTypeResponseSchema = exports.DeleteUnitTypeRequestSchema = exports.UpdateUnitTypeResponseSchema = exports.UpdateUnitTypeRequestSchema = exports.GetUnitTypeResponseSchema = exports.GetUnitTypeRequestSchema = exports.CreateUnitTypeResponseSchema = exports.CreateUnitTypeRequestSchema = exports.ListUnitTypesResponseSchema = exports.ListUnitTypesRequestSchema = exports.UpdateCostGroupCreationUIResponseSchema = exports.UpdateCostGroupCreationUIRequestSchema = exports.TransferOrganizationResponseSchema = exports.TransferOrganizationRequestSchema = exports.GetOrgFiscalMonthResponseSchema = exports.GetOrgFiscalMonthRequestSchema = exports.SetOrgFiscalMonthResponseSchema = exports.SetOrgFiscalMonthRequestSchema = exports.SetCostGroupAnomalyOptionsResponseSchema = exports.SetCostGroupAnomalyOptionsRequestSchema = exports.SetCostGroupEventIndicatorResponseSchema = exports.SetCostGroupEventIndicatorRequestSchema = exports.OptimizationHistoryResponseSchema = exports.OptimizationHistoryRequestSchema = exports.UndoExecutedRecommendationResponseSchema = exports.UndoExecutedRecommendationRequestSchema = exports.MarkAsExecutedResponseSchema = exports.MarkAsExecutedRequestSchema = exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = exports.ExecuteOptimizationResponse_GCPOptionSchema = exports.ExecuteOptimizationResponse_AWSOptionSchema = void 0;
14
+ exports.Cover = exports.StatusSchema = exports.Status = exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = exports.ListUntaggedResourcesResponseSchema = exports.ListUntaggedResourcesRequestSchema = exports.ListNonperformingRateResponse_NonperformingSchema = exports.ListNonperformingRateResponseSchema = exports.ListNonperformingRateRequestSchema = exports.GetDiscountPlanResponseSchema = exports.GetDiscountPlanRequestSchema = exports.GetCloudwatchMetadataResponse_DimensionSchema = exports.GetCloudwatchMetadataResponseSchema = exports.GetCloudwatchMetadataRequestSchema = exports.ConfirmGoogleSheetAccessResponseSchema = exports.ConfirmGoogleSheetAccessRequestSchema = exports.PreviewGoogleSheetResponseSchema = exports.PreviewGoogleSheetRequestSchema = exports.DeleteUnitMetricResponseSchema = exports.DeleteUnitMetricRequestSchema = exports.UpdateUnitMetricResponseSchema = exports.UpdateUnitMetricRequestSchema = exports.GetUnitMetricResponseSchema = exports.GetUnitMetricRequestSchema = exports.CreateUnitMetricResponseSchema = exports.CreateUnitMetricRequestSchema = exports.ListUnitMetricsResponseSchema = void 0;
15
15
  const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
16
16
  const optimizationrecommendation_pb_1 = require("../../api/cover/optimizationrecommendation_pb");
17
17
  const recommendation_pb_1 = require("../../api/cover/recommendation/recommendation_pb");
@@ -30,72 +30,93 @@ const budget_pb_1 = require("../../api/cover/budget_pb");
30
30
  const insightreport_pb_1 = require("../../api/cover/insightreport_pb");
31
31
  const operation_pb_1 = require("../../protos/operation_pb");
32
32
  const annotations_pb_1 = require("../../google/api/annotations_pb");
33
+ const role_pb_1 = require("../../api/cover/role_pb");
33
34
  const wkt_1 = require("@bufbuild/protobuf/wkt");
34
35
  const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations_pb");
35
36
  /**
36
37
  * Describes the file cover/v1/cover.proto.
37
38
  */
38
- exports.file_cover_v1_cover = (0, codegenv2_1.fileDesc)("ChRjb3Zlci92MS9jb3Zlci5wcm90bxIQYmx1ZWFwaS5jb3Zlci52MSIhChNSZWludml0ZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFFJlaW52aXRlVXNlclJlc3BvbnNlIhIKEExpc3RVc2Vyc1JlcXVlc3QivQEKEUxpc3RVc2Vyc1Jlc3BvbnNlEj4KBXVzZXJzGAEgAygLMi8uYmx1ZWFwaS5jb3Zlci52MS5MaXN0VXNlcnNSZXNwb25zZS5Vc2VyU3VtbWFyeRpoCgtVc2VyU3VtbWFyeRIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBXJvbGVzGAQgAygJEhEKCWFjdGl2YXRlZBgFIAEoCBIOCgZhdmF0YXIYBiABKAkiUgoVVXBkYXRlVXNlclJvbGVSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSEAoIcm9sZV9pZHMYAiADKAkSFgoOY29zdF9ncm91cF9pZHMYAyADKAkiGAoWVXBkYXRlVXNlclJvbGVSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiTQoSSW52aXRlVXNlcnNSZXF1ZXN0Eg4KBmVtYWlscxgBIAMoCRIPCgdyb2xlX2lkGAIgASgJEhYKDmNvc3RfZ3JvdXBfaWRzGAMgAygJIhUKE0ludml0ZVVzZXJzUmVzcG9uc2Ui7QEKHkV4ZWN1dGVSZWNvbW1lbmRhdGlvblYzUmVxdWVzdBILCgNpZHMYASADKAkSUQoLZXhlY3V0ZVR5cGUYAiABKA4yPC5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVSZWNvbW1lbmRhdGlvblYzUmVxdWVzdC5FeGVjdXRlVHlwZSJrCgtFeGVjdXRlVHlwZRILCgdERUZBVUxUEAASFAoQTUFSS19BU19FWEVDVVRFRBABEhEKDVVORE9fRVhFQ1VURUQQAhITCg9TVUJNSVRfVEVNUExBVEUQAxIRCg1SRVRSWV9FWEVDVVRFEAQiSgofRXhlY3V0ZVJlY29tbWVuZGF0aW9uVjNSZXNwb25zZRInCgZyZXN1bHQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IsMBChxMaXN0UmVjb21tZW5kYXRpb25zVjNSZXF1ZXN0EhMKC2Nvc3Rncm91cElkGAEgASgJEhAKCHN0YXR1c2VzGAIgAygJEkwKB2ZpbHRlcnMYAyADKAsyOy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvbnNWM1JlcXVlc3QuRmlsdGVyc0VudHJ5Gi4KDEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvUDChVSZWNvbW1lbmRhdGlvblN1bW1hcnkSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkSEgoKdGFyZ2V0TmFtZRgSIAEoCRIQCghjYXRlZ29yeRgEIAEoCRIMCgR0eXBlGAUgASgJEg4KBnZlbmRvchgNIAEoCRIOCgZzb3VyY2UYEyABKAkSDAoEY29kZRgOIAEoCRIUCgdzZXJ2aWNlGA8gASgJSACIAQESEwoGcmVnaW9uGBAgASgJSAGIAQESFwoKcmVzb3VyY2VJZBgRIAEoCUgCiAEBEh8KF2VzdGltYXRlZE1vbnRobHlTYXZpbmdzGAYgASgBEiIKGmVzdGltYXRlZE1vbnRobHlCZWZvcmVDb3N0GAcgASgBEiEKGWVzdGltYXRlZE1vbnRobHlBZnRlckNvc3QYCCABKAESEQoEcmlzaxgJIAEoCUgDiAEBEhMKBmVmZm9ydBgKIAEoCUgEiAEBEg4KBnN0YXR1cxgLIAEoCRIyChFhZGRpdGlvbmFsRGV0YWlscxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCCgoIX3NlcnZpY2VCCQoHX3JlZ2lvbkINCgtfcmVzb3VyY2VJZEIHCgVfcmlza0IJCgdfZWZmb3J0IikKGkdldFJlY29tbWVuZGF0aW9uVjNSZXF1ZXN0EgsKA2lkcxgBIAMoCSKSBQobR2V0UmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlElsKD3JlY29tbWVuZGF0aW9ucxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlLlJlY29tbWVuZGF0aW9uRGV0YWlsGpUEChRSZWNvbW1lbmRhdGlvbkRldGFpbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAkgASgJEg4KBnZlbmRvchgCIAEoCRIOCgZzb3VyY2UYAyABKAkSDAoEY29kZRgEIAEoCRIUCgdzZXJ2aWNlGAUgASgJSACIAQESDgoGdGFyZ2V0GAcgASgJEhIKCnRhcmdldE5hbWUYCCABKAkSFAoMZGF0ZURldGVjdGVkGAYgASgJEhMKBnJlZ2lvbhgKIAEoCUgBiAEBEiIKGmVzdGltYXRlZE1vbnRobHlCZWZvcmVDb3N0GAsgASgBEiEKGWVzdGltYXRlZE1vbnRobHlBZnRlckNvc3QYDCABKAESHwoXZXN0aW1hdGVkTW9udGhseVNhdmluZ3MYDSABKAESFwoKcmVzb3VyY2VJZBgOIAEoCUgCiAEBEhAKCGNhdGVnb3J5GA8gASgJEgwKBHR5cGUYECABKAkSEwoLbGFzdFVwZGF0ZWQYESABKAkSDgoGc3RhdHVzGBIgASgJEhEKBHJpc2sYEyABKAlIA4gBARITCgZlZmZvcnQYFCABKAlIBIgBARIoCgdkZXRhaWxzGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIKCghfc2VydmljZUIJCgdfcmVnaW9uQg0KC19yZXNvdXJjZUlkQgcKBV9yaXNrQgkKB19lZmZvcnQi6gEKG0dldENvc3RGb3JlY2FzdHNEYXRhUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCRJOCgtncmFudWxhcml0eRgEIAEoDjI5LmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXF1ZXN0LkdyYW51bGFyaXR5IkIKC0dyYW51bGFyaXR5EhsKF0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASCQoFREFJTFkQARILCgdNT05USExZEAIiagocR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXNwb25zZRIMCgRkYXRlGAEgASgJEhQKDGZvcmVjYXN0Q29zdBgCIAEoARISCgp1cHBlckJvdW5kGAMgASgBEhIKCmxvd2VyQm91bmQYBCABKAEiFgoUTGlzdEZvcmVjYXN0c1JlcXVlc3QiXAoVTGlzdEZvcmVjYXN0c1Jlc3BvbnNlEkMKE2Nvc3RGb3JlY2FzdERldGFpbHMYASADKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0Rm9yZWNhc3REZXRhaWxzIvMBChlDcmVhdGVDb3N0Rm9yZWNhc3RSZXF1ZXN0EhQKDGZvcmVjYXN0TmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIvCgljb3N0R3JvdXAYAyABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXASGwoTcGFzdEFjdHVhbENvc3RSYW5nZRgEIAEoAxIZChFsb29rRm9yd2FyZFBlcmlvZBgFIAEoAxJCChNleHRlcm5hbEFkanVzdG1lbnRzGAYgAygLMiUuYmx1ZWFwaS5hcGkuY292ZXIuRXh0ZXJuYWxBZGp1c3RtZW50IoACChpDcmVhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudCIkChZHZXRDb3N0Rm9yZWNhc3RSZXF1ZXN0EgoKAmlkGAEgASgJIr8CChdHZXRDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudBIRCgljcmVhdGVkQnkYCCABKAkSFAoMY3JlYXRpb25EYXRlGAkgASgJEhcKD2xhc3RVcGRhdGVkRGF0ZRgKIAEoCSL/AQoZVXBkYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudCLCAgoaVXBkYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2USCgoCaWQYASABKAkSFAoMZm9yZWNhc3ROYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEi8KCWNvc3RHcm91cBgEIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cBIbChNwYXN0QWN0dWFsQ29zdFJhbmdlGAUgASgDEhkKEWxvb2tGb3J3YXJkUGVyaW9kGAYgASgDEkIKE2V4dGVybmFsQWRqdXN0bWVudHMYByADKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5FeHRlcm5hbEFkanVzdG1lbnQSEQoJY3JlYXRlZEJ5GAggASgJEhQKDGNyZWF0aW9uRGF0ZRgJIAEoCRIXCg9sYXN0VXBkYXRlZERhdGUYCiABKAkiJwoZRGVsZXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIKCgJpZBgBIAEoCSIoChpEZWxldGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCSJvChZHZXRDb3N0VXNhZ2VWMlJlc3BvbnNlEg0KBXZhbHVlGAEgASgBEgwKBGRhdGUYAiABKAkSDgoGdmVuZG9yGAMgASgJEigKB2RldGFpbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ir8EChVHZXRDb3N0VXNhZ2VWMlJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkSSAoLZ3JhbnVsYXJpdHkYBCABKA4yMy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgFIAMoCRJCCghjYXRlZ29yeRgGIAEoDjIwLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0LkNhdGVnb3J5EhAKCGN1cnJlbmN5GAcgASgJEjoKCmF3c09wdGlvbnMYCCABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBBd3NPcHRpb25zEkQKD2F6dXJlY3NwT3B0aW9ucxgJIAEoCzIrLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cEF6dXJlQ3NwT3B0aW9ucxI6CgpnY3BPcHRpb25zGAogASgLMiYuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwR2NwT3B0aW9ucyJCCgtHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIjkKCENhdGVnb3J5EhgKFENhdGVnb3J5X1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAIiGQoXUG9wdWxhdGVEZW1vRGF0YVJlcXVlc3QiGgoYUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhYKFFJlc2V0RGVtb0RhdGFSZXF1ZXN0IhcKFVJlc2V0RGVtb0RhdGFSZXNwb25zZSLfBgoZQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSSgoKbWV0cmljVHlwZRgDIAEoDjI2LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdC5NZXRyaWNUeXBlEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJElAKC2dyYW51bGFyaXR5GAYgASgOMjsuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlRpbWVHcmFudWxhcml0eRIQCghncm91cEJ5cxgHIAMoCRJLCgdmaWx0ZXJzGAggAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LkZpbHRlckNyaXRlcmlhEkwKC3NlcnZpY2VUeXBlGAkgASgOMjcuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlNlcnZpY2VUeXBlGs8BCg5GaWx0ZXJDcml0ZXJpYRILCgNrZXkYASABKAkSWwoIb3BlcmF0b3IYAiABKA4ySS5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuRmlsdGVyQ3JpdGVyaWEuRmlsdGVyT3BlcmF0b3ISDQoFdmFsdWUYAyABKAkiRAoORmlsdGVyT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIJCgVFUVVBTBABEg0KCU5PVF9FUVVBTBACIkYKD1RpbWVHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIloKCk1ldHJpY1R5cGUSFgoSTUVUUklDX1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAISDgoKRUZGSUNJRU5DWRADEg8KC1VOVVNFRF9DT1NUEAQiOAoLU2VydmljZVR5cGUSFwoTU0VSVklDRV9VTlNQRUNJRklFRBAAEgcKA0VDUxABEgcKA0VLUxACItcKChpDb250YWluZXJDb3N0VXNhZ2VSZXNwb25zZRJLCgdyZXN1bHRzGAEgAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0ElMKCmhpZ2hsaWdodHMYAiABKAsyPy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0cxIRCgl0b3RhbENvc3QYAyABKAESFQoNYXZnRWZmaWNpZW5jeRgEIAEoARpECgpDb3N0TWV0cmljEg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRIUCgx1bnVzZWRBbW91bnQYAyABKAEakAEKC1VzYWdlTWV0cmljEgwKBHVuaXQYASABKAkSFgoOcmVzZXJ2ZWRBbW91bnQYAiABKAESFAoMYWN0dWFsQW1vdW50GAMgASgBEhIKCmVmZmljaWVuY3kYBCABKAESFgoOY3B1VXRpbGl6YXRpb24YBSABKAESGQoRbWVtb3J5VXRpbGl6YXRpb24YBiABKAEawQEKD01ldHJpY0RhdGFQb2ludBIMCgRkYXRlGAEgASgJEkcKBGNvc3QYAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkNvc3RNZXRyaWNIABJJCgV1c2FnZRgDIAEoCzI4LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuVXNhZ2VNZXRyaWNIAEIMCgptZXRyaWNEYXRhGkwKEVJlc291cmNlSGlnaGxpZ2h0EhIKCnJlc291cmNlSWQYASABKAkSFAoMcmVzb3VyY2VOYW1lGAIgASgJEg0KBXZhbHVlGAMgASgBGoQDChJSZXNvdXJjZUhpZ2hsaWdodHMSWgoSaGlnaGVzdENsdXN0ZXJDb3N0GAEgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJZChFoaWdoZXN0VW51c2VkQ29zdBgCIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWwoTaGlnaGVzdFdvcmtsb2FkQ29zdBgDIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWgoSaGlnaGVzdENvbXB1dGVDb3N0GAQgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBr6AQoNR3JvdXBlZFJlc3VsdBJeCgphdHRyaWJ1dGVzGAEgAygLMkouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0LkF0dHJpYnV0ZXNFbnRyeRJWChBtZXRyaWNEYXRhUG9pbnRzGAIgAygLMjwuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5NZXRyaWNEYXRhUG9pbnQaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKGEdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSSwoLZ3JhbnVsYXJpdHkYBSABKA4yNi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgGIAMoCRJCCgdmaWx0ZXJzGAcgAygLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyGsIBCgZGaWx0ZXISCwoDa2V5GAEgASgJEkwKCG9wZXJhdG9yGAIgASgOMjouYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyLk9wZXJhdG9yEg4KBnZhbHVlcxgDIAMoCRINCgV2YWx1ZRgEIAEoCSI+CghPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEgkKBUVRVUFMEAESDQoJTk9UX0VRVUFMEAIiQgoLR3JhbnVsYXJpdHkSGwoXR1JBTlVMQVJJVFlfVU5TUEVDSUZJRUQQABIJCgVEQUlMWRABEgsKB01PTlRITFkQAiKnBAoZR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZRJDCgdyZXN1bHRzGAEgAygLMjIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlJlc3VsdBooCgRDb3N0Eg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRolCgVVc2FnZRIMCgR1bml0GAEgASgJEg4KBmFtb3VudBgCIAEoARqYAQoGTWV0cmljEgwKBGRhdGUYASABKAkSPgoEY29zdBgCIAEoCzIwLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5Db3N0EkAKBXVzYWdlGAMgASgLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlVzYWdlGtgBCgZSZXN1bHQSVgoKYXR0cmlidXRlcxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5SZXN1bHQuQXR0cmlidXRlc0VudHJ5EkMKB21ldHJpY3MYAiADKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuTWV0cmljGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIhsKGUdldEV4ZWN1dGlvblN0YXR1c1JlcXVlc3QiVwoaR2V0RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSI4ChZWZXJpZnlBUElBY2Nlc3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIOCgZ0YXJnZXQYAiABKAkiKQoXVmVyaWZ5QVBJQWNjZXNzUmVzcG9uc2USDgoGcmVzdWx0GAEgASgIImUKGkdldFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCSJhChtHZXRSZWNvbW1lbmRhdGlvblYyUmVzcG9uc2USQgoEZGF0YRgBIAEoCzI0LmJsdWVhcGkuYXBpLmNvdmVyLnJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uRGF0YSJRChFPbmJvYXJkT3JnUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBW9yZ0lkGAQgASgJIkMKEk9uYm9hcmRPcmdSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIk0KE0ludml0ZU1lbWJlclJlcXVlc3QSDQoFZW1haWwYASADKAkSEAoIaXNSZXNlbmQYAiABKAgSFQoNaW52aXRlQXNBZG1pbhgDIAEoCCIlChRJbnZpdGVNZW1iZXJSZXNwb25zZRINCgVlbWFpbBgBIAMoCSKkAQoTQWN0aXZhdGVVc2VyUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSGAoQcHJldmlvdXNQYXNzd29yZBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmxvY2FsZRgFIAEoCRINCgVlbWFpbBgGIAEoCRIPCgdpc0F1dGgwGAcgASgIEhMKC2F1dGgwVXNlcklkGAggASgJIkUKFEFjdGl2YXRlVXNlclJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiWAoTQ3JlYXRlTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEhIKCmNvc3Rncm91cHMYBCADKAkiRQoUQ3JlYXRlTWVtYmVyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSITChFHZXRNZW1iZXJzUmVxdWVzdCJDChJHZXRNZW1iZXJzUmVzcG9uc2USLQoIdXNlckRhdGEYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIpChdHZXRNZW1iZXJEZXRhaWxzUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiSQoYR2V0TWVtYmVyRGV0YWlsc1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZR2V0TWVtYmVyQ29zdEdyb3VwUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiVAoaR2V0TWVtYmVyQ29zdEdyb3VwUmVzcG9uc2USNgoKY29zdEdyb3VwcxgBIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLk1lbWJlckNvc3RHcm91cCJACh1VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSDwoHaXNBZG1pbhgCIAEoCCJPCh5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIXChVHZXRVc2VyRGV0YWlsc1JlcXVlc3QiRwoWR2V0VXNlckRldGFpbHNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIikKF1VwZGF0ZVVzZXJBdmF0YXJSZXF1ZXN0Eg4KBmF2YXRhchgBIAEoCSJJChhVcGRhdGVVc2VyQXZhdGFyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChVVcGRhdGVVc2VySWNvblJlcXVlc3QSDAoEaWNvbhgBIAEoCSJHChZVcGRhdGVVc2VySWNvblJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiMQobVXBkYXRlVXNlckNvbG9yVGhlbWVSZXF1ZXN0EhIKCmNvbG9yVGhlbWUYASABKAkiTQocVXBkYXRlVXNlckNvbG9yVGhlbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKFVVwZGF0ZVVzZXJOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIkcKFlVwZGF0ZVVzZXJOYW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSInChZVcGRhdGVVc2VyRW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkgKF1VwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZVXBkYXRlVXNlck1haW5WaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiSwoaVXBkYXRlVXNlck1haW5WaWV3UmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJJChhSZXNldFVzZXJQYXNzd29yZFJlcXVlc3QSGAoQcHJldmlvdXNQYXNzd29yZBgBIAEoCRITCgtuZXdQYXNzd29yZBgCIAEoCSJKChlSZXNldFVzZXJQYXNzd29yZFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKQoXVXBkYXRlVXNlckxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJIkkKGFVwZGF0ZVVzZXJMb2NhbGVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIi0KGVVwZGF0ZVVzZXJBcHBUaGVtZVJlcXVlc3QSEAoIYXBwVGhlbWUYASABKAkiSwoaVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJDChlVcGRhdGVVc2VyVGltZXpvbmVSZXF1ZXN0EhAKCHRpbWVab25lGAEgASgJEhQKDGF1dG9UaW1lWm9uZRgCIAEoCCJLChpVcGRhdGVVc2VyVGltZXpvbmVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIjEKG1VwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBISCgphdHRyaWJ1dGVzGAEgAygJIk0KHFVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChNEZWxldGVNZW1iZXJSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSImChREZWxldGVNZW1iZXJSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiJgoUUmVzZXRQYXNzd29yZFJlcXVlc3QSDgoGdXNlcklkGAEgASgJIicKFVJlc2V0UGFzc3dvcmRSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiuwEKEUNyZWF0ZVZpZXdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEQoJaXNQcml2YXRlGAMgASgIEhIKCmlzRWRpdGFibGUYBCABKAgSDAoEaWNvbhgFIAEoCRISCgpyZXBvcnRUeXBlGAYgASgJEhIKCmNvbG9yVGhlbWUYByABKAkSFAoMcmVwb3J0UGVyaW9kGAggASgJEhAKCGN1cnJlbmN5GAkgASgJIkMKEkNyZWF0ZVZpZXdSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIhEKD0dldFZpZXdzUmVxdWVzdCJBChBHZXRWaWV3c1Jlc3BvbnNlEi0KCHZpZXdMaXN0GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0xpc3QiJwoVR2V0Q3VycmVudFZpZXdSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSJHChZHZXRDdXJyZW50Vmlld1Jlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiGQoXR2V0RmF2b3JpdGVWaWV3c1JlcXVlc3QiSwoYR2V0RmF2b3JpdGVWaWV3c1Jlc3BvbnNlEi8KCWZhdm9yaXRlcxgBIAMoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkZhdm9yaXRlcyIkChJQdWJsaXNoVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiIKE1B1Ymxpc2hWaWV3UmVzcG9uc2USCwoDdXJsGAEgASgJIiQKEkFkZEZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiJQoTQWRkRmF2b3JpdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiJwoVUmVtb3ZlRmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSIoChZSZW1vdmVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSKPAQoRVXBkYXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRIRCglpc1ByaXZhdGUYBSABKAgSEgoKaXNFZGl0YWJsZRgGIAEoCBISCgpjb2xvclRoZW1lGAcgASgJIiQKElVwZGF0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiWAoXVXBkYXRlVmlld0xheW91dFJlcXVlc3QSDgoGdmlld0lkGAEgASgJEi0KBmxheW91dBgCIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLldpZGdldERhdGEiSQoYVXBkYXRlVmlld0xheW91dFJlc3BvbnNlEi0KBmxheW91dBgBIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdMYXlvdXQimgEKF1VwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCRIQCgh3aWRnZXRJZBgCIAEoCRIoCgdvcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCghyZXF1ZXN0cxgEIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkxheW91dFJlcXVlc3RzIl8KGFVwZGF0ZVZpZXdXaWRnZXRSZXNwb25zZRIQCgh3aWRnZXRJZBgBIAEoCRIxCgp3aWRnZXREYXRhGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuV2lkZ2V0RGF0YSJBChtVcGRhdGVWaWV3Q29sb3JUaGVtZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCmNvbG9yVGhlbWUYAiABKAkiTQocVXBkYXRlVmlld0NvbG9yVGhlbWVSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIj0KGVVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhAKCGN1cnJlbmN5GAIgASgJIksKGlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiNQobU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0EhYKDnVwZGF0ZUN1cnJlbmN5GAEgASgDIjYKHFNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USFgoOdXBkYXRlQ3VycmVuY3kYASABKAMiHQobR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0IlkKHEdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USDQoFb3JnSWQYASABKAkSFgoOdXBkYXRlQ3VycmVuY3kYAiABKAMSEgoKbGFzdFVwZGF0ZRgDIAEoCSI+ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSEQoJc3RhcnREYXRlGAEgASgJEg8KB2VuZERhdGUYAiABKAkiYgoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI2Cg1leGNoYW5nZVJhdGVzGAIgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5FeGNoYW5nZVJhdGVzIkIKDUV4Y2hhbmdlUmF0ZXMSDQoFbW9udGgYASABKAkSFAoMZXhjaGFuZ2VSYXRlGAIgASgCEgwKBGRhdGUYAyABKAkiIwoRRGVsZXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiQKEkRlbGV0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiZQoaVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEjcKDXNpZGVtZW51c3RhdGUYAiADKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TaWRlTWVudVN0YXRlIi0KG1VwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiQAoaQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCm1lbnVJdGVtSWQYAiABKAkiLQobQWRkU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJDCh1SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKbWVudUl0ZW1JZBgCIAEoCSIwCh5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJItMBChZDcmVhdGVDb3N0R3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSLgoEdHlwZRgHIAEoDjIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cFR5cGUSEwoLZGVzY3JpcHRpb24YAiABKAkSDQoFaW1hZ2UYAyABKAkSDAoEaWNvbhgEIAEoCRISCgpjb2xvclRoZW1lGAUgASgJEjUKDGNvbWJpbmF0aW9ucxgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJSChdDcmVhdGVDb3N0R3JvdXBSZXNwb25zZRI3Cg1jb3N0R3JvdXBEYXRhGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwRGF0YSIWChRHZXRDb3N0R3JvdXBzUmVxdWVzdCJQChVHZXRDb3N0R3JvdXBzUmVzcG9uc2USNwoNY29zdEdyb3VwRGF0YRgBIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cERhdGEiMQoaR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiVgobR2V0Q29zdEdyb3VwRGV0YWlsc1Jlc3BvbnNlEjcKDWNvc3RHcm91cERhdGEYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBEYXRhIj8KGlVwZGF0ZUNvc3RHcm91cE5hbWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiKwobVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlEgwKBG5hbWUYASABKAkiTQohVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJIjkKIlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVzcG9uc2USEwoLZGVzY3JpcHRpb24YASABKAkiQQobVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg0KBWltYWdlGAIgASgJIi0KHFVwZGF0ZUNvc3RHcm91cEltYWdlUmVzcG9uc2USDQoFaW1hZ2UYASABKAkiPwoaVXBkYXRlQ29zdEdyb3VwSWNvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDAoEaWNvbhgCIAEoCSIrChtVcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2USDAoEaWNvbhgBIAEoCSJLCiBVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpjb2xvclRoZW1lGAIgASgJIjcKIVVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXNwb25zZRISCgpjb2xvclRoZW1lGAEgASgJInAKIlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSNQoMY29tYmluYXRpb25zGAIgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIlwKI1VwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlEjUKDGNvbWJpbmF0aW9ucxgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJDChxBc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJECh1Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiQwocUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiRAodUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSDgoGdXNlcklkGAIgASgJIi0KFkRlbGV0ZUNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiLgoXRGVsZXRlQ29zdEdyb3VwUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkiMgoiR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVxdWVzdBIMCgR0eXBlGAEgASgJIocBCiNHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJIhoKGExpc3RBY2NvdW50QWNjZXNzUmVxdWVzdCIpChdHZXRBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAki2gIKDUFjY291bnRBY2Nlc3MSDgoGdGFyZ2V0GAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhMKC2FjY291bnRUeXBlGAMgASgJEg8KB3BheWVySWQYBCABKAkSDwoHcm9sZUFybhgFIAEoCRISCgpleHRlcm5hbElkGAYgASgJEg8KB3N0YWNrSWQYByABKAkSEwoLc3RhY2tSZWdpb24YCCABKAkSEwoLdGVtcGxhdGVVcmwYCSABKAkSEgoKYnVja2V0TmFtZRgKIAEoCRIOCgZwcmVmaXgYCyABKAkSEgoKcmVwb3J0TmFtZRgMIAEoCRJBChJyZWdpc3RyYXRpb25TdGF0dXMYDSABKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5SZWdpc3RyYXRpb25TdGF0dXMSDgoGc3RhdHVzGA4gASgJEhMKC2xhc3RVcGRhdGVkGA8gASgJIkMKGkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIVCg1mcm9tVGVycmFmb3JtGAIgASgIIkQKIkNyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldFJlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnJlZ2lvbhgCIAEoCSIsChpVcGRhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkiPAoaRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnZlbmRvchgCIAEoCSIvChtEZWxldGVBY2NvdW50QWNjZXNzUmVzcG9uc2USEAoIdGFyZ2V0SWQYASABKAkiUAoWUmVnaXN0ZXJBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhMKC2FjY291bnROYW1lGAMgASgJIuYBChFMaXN0QXNzZXRzUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpzdGFydE1vbnRoGAIgASgJEhAKCGVuZE1vbnRoGAMgASgJEhoKEndpdGhSZWNvbW1lbmRhdGlvbhgEIAEoCBI3Cgphd3NPcHRpb25zGAUgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycxJBChRhd3NQcm9wZXJ0aWVzT3B0aW9ucxgGIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMijwEKEUxpc3RBc3NldHNGaWx0ZXJzEkcKCmFuZEZpbHRlcnMYASADKAsyMy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK9AQoIUmVzb3VyY2USDAoEZGF0ZRgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIPCgdzZXJ2aWNlGAUgASgJEhIKCnJlc291cmNlSWQYBiABKAkSFAoMcmVzb3VyY2VUeXBlGAcgASgJEgwKBGNvc3QYCCABKAESEgoKcHJvcGVydGllcxgJIAEoCRIWCg5yZWNvbW1lbmRhdGlvbhgKIAEoCSLmAQoXR2V0QXNzZXRzU3VtbWFyeVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEgoKc3RhcnRNb250aBgCIAEoCRIQCghlbmRNb250aBgDIAEoCRIUCgxjb21iaW5lRGF0ZXMYBCABKAgSNwoKYXdzT3B0aW9ucxgFIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMSQQoUYXdzUHJvcGVydGllc09wdGlvbnMYBiADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzImsKGEdldEFzc2V0c1N1bW1hcnlSZXNwb25zZRIwCgdzdW1tYXJ5GAEgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5Bc3NldHNTdW1tYXJ5Eh0KFXJlY29tbWVuZGF0aW9uU3VtbWFyeRgCIAEoCSJYCg1Bc3NldHNTdW1tYXJ5EgwKBGRhdGUYASABKAkSDgoGdmVuZG9yGAIgASgJEhYKDnRvdGFsUmVzb3VyY2VzGAMgASgDEhEKCXRvdGFsQ29zdBgEIAEoASI6CiNSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCSJpCiRSZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSLAoIYWNjb3VudHMYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5BY2NvdW50IscEChNHZXRDb3N0VXNhZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0VGltZRgCIAEoCRIPCgdlbmRUaW1lGAMgASgJEhQKDGdyb3VwQnlNb250aBgEIAEoCBINCgVsaW1pdBgFIAEoAxIQCghjYXRlZ29yeRgGIAEoCRIPCgdncm91cEJ5GAcgASgJEhcKD2luY2x1ZGVaZXJvQ29zdBgIIAEoCBJDCgphd3NPcHRpb25zGAkgASgLMi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXdzT3B0aW9ucxJHCgxhenVyZU9wdGlvbnMYCiABKAsyMS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RBenVyZU9wdGlvbnMSQwoKZ2NwT3B0aW9ucxgLIAEoCzIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEdjcE9wdGlvbnMSTQoPYXp1cmVjc3BPcHRpb25zGAwgASgLMjQuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEkkKDWN1c3RvbU9wdGlvbnMYDSABKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhcKD2luY2x1ZGVGb3JlY2FzdBgOIAEoCBIQCghjdXJyZW5jeRgPIAEoCSLnAQodR2V0Q29zdFVzYWdlUmVxdWVzdEF3c09wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgFIAEoCSLZAQofR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMi/gIKHUdldENvc3RVc2FnZVJlcXVlc3RHY3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIuwBCiJHZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVDc3BPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYBSABKAkigQMKIEdldENvc3RVc2FnZVJlcXVlc3RDdXN0b21PcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJGCgxsYWJlbEZpbHRlcnMYBSADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJNChNwcm9qZWN0TGFiZWxGaWx0ZXJzGAYgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAcgASgJIqkBCh5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSVAoKYW5kRmlsdGVycxgBIAMoCzJALmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzLkFuZEZpbHRlcnNFbnRyeRoxCg9BbmRGaWx0ZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL2AwoIQ29zdEl0ZW0SDgoGdmVuZG9yGAEgASgJEgwKBGRhdGUYAiABKAkSDwoHcHJvZHVjdBgDIAEoCRIPCgdhY2NvdW50GAQgASgJEhEKCXVzYWdlVHlwZRgQIAEoCRISCgpjaGFyZ2VUeXBlGBEgASgJEgwKBGNvc3QYBSABKAESDwoHZGV0YWlscxgGIAEoCRI0Cghmb3JlY2FzdBgHIAEoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Nvc3RGb3JlY2FzdBIOCgZyZWdpb24YCCABKAkSFgoOYmlsbGluZ0FjY291bnQYCSABKAkSEAoIdGFnVmFsdWUYCiABKAkSEgoKbGFzdFVwZGF0ZRgLIAEoCRIMCgR1bml0GAwgASgJEhAKCGNhdGVnb3J5GA0gASgJEg4KBnRhZ2dlZBgOIAEoCBIVCg1udW1iZXJPZlVuaXRzGBIgASgBEkYKDnVuaXRjb3N0bWV0cmljGA8gAygLMi4uYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbS5Vbml0Y29zdG1ldHJpY0VudHJ5EhoKEmFsbG9jYXRpb25DYXRlZ29yeRgTIAEoCRo1ChNVbml0Y29zdG1ldHJpY0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiOgojR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiWQokR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlc3BvbnNlEjEKCHJlc291cmNlGAEgAygLMh8uYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VEYXRhIngKGU1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEhQKDHJlc291cmNlVHlwZRgEIAEoCRIOCgZyZWdpb24YBSABKAkiaQoaTW9kaWZ5UmVzb3VyY2VUeXBlUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSFAoMcmVzb3VyY2VUeXBlGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJhChhUZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRISCgpyZXNvdXJjZUlkGAMgASgJEg4KBnJlZ2lvbhgEIAEoCSJSChlUZXJtaW5hdGVSZXNvdXJjZVJlc3BvbnNlEhEKCWFjY291bnRJZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEg4KBnJlZ2lvbhgDIAEoCSJDChdVcGxvYWRDaGFyZ2VDb2RlUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAkSDAoEZmlsZRgDIAEoDCJSChhVcGxvYWRDaGFyZ2VDb2RlUmVzcG9uc2USDAoEbmFtZRgBIAEoCRIoCgZzdGF0dXMYAiABKA4yGC5ibHVlYXBpLmNvdmVyLnYxLlN0YXR1cyJIChJBc3NpZ25QYXllclJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIPCgdwYXllcklkGAMgASgJIjkKE0Fzc2lnblBheWVyUmVzcG9uc2USEQoJYWNjb3VudElkGAEgASgJEg8KB3BheWVySWQYAiABKAkiIgoQR2V0UGF5ZXJzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiIwoRR2V0UGF5ZXJzUmVzcG9uc2USDgoGcGF5ZXJzGAEgAygJIjkKEkdldEFjY291bnRzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiJwoTR2V0QWNjb3VudHNSZXNwb25zZRIQCghhY2NvdW50cxgBIAMoCSI5ChJHZXRTZXJ2aWNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIicKE0dldFNlcnZpY2VzUmVzcG9uc2USEAoIc2VydmljZXMYASADKAkiOAoRR2V0UmVnaW9uc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIiUKEkdldFJlZ2lvbnNSZXNwb25zZRIPCgdyZWdpb25zGAEgAygJIjUKDkdldFRhZ3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSI+Cg9HZXRUYWdzUmVzcG9uc2USKwoHdGFnRGF0YRgBIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlRhZ0RhdGEiIAoPTGlzdEZlZXNSZXF1ZXN0Eg0KBW1vbnRoGAEgASgJIu0CCgpGZWVEZXRhaWxzEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEg0KBW1vbnRoGAUgASgJEhAKCGxpbmVUeXBlGAYgASgJEg8KB2ZlZVR5cGUYByABKAkSEwoLcHJvZHVjdENvZGUYCCABKAkSEwoLZGVzY3JpcHRpb24YCSABKAkSDwoHc3RhcnRlZBgKIAEoCRIUCgx0aW1lSW50ZXJ2YWwYCyABKAkSEwoLcHJvZHVjdE5hbWUYDCABKAkSEAoIY3VycmVuY3kYDSABKAkSEwoLc3BsaXRTdGF0dXMYDiABKAkSEwoLaXNBbGxvY2F0ZWQYDyABKAgSEQoJaXNBcHBsaWVkGBAgASgIEhUKDXVuYmxlbmRlZENvc3QYESABKAESEQoJc291cmNlRmVlGBIgASgJEhIKCmxhc3RVcGRhdGUYEyABKAkiIgoRUmVzdG9yZUZlZVJlcXVlc3QSDQoFZmVlSWQYASABKAkiUQoWR2V0Q29zdEdyb3VwRmVlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCSJmCgdGZWVJdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBIkkKCUFsbG9jYXRvchIMCgR0eXBlGAEgASgJEg0KBXZhbHVlGAIgASgJEg8KB2Zvcm11bGEYAyABKAkSDgoGbW9udGhzGAQgASgDImgKCENyaXRlcmlhEjAKA2FuZBgBIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuQ3JpdGVyaWEuQW5kRW50cnkaKgoIQW5kRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKiAgoUQ29zdEFsbG9jYXRvckRldGFpbHMSCgoCaWQYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEgoKZXhwaXJhdGlvbhgDIAEoAxISCgpzdGFydE1vbnRoGAQgASgJEhYKDmRlZmF1bHRBY2NvdW50GAUgASgJEjEKCGNyaXRlcmlhGAYgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgHIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEhIKCmNyZWF0ZVRpbWUYCCABKAkSEgoKdXBkYXRlVGltZRgJIAEoCRIMCgRuYW1lGAogASgJEhMKC2Rlc2NyaXB0aW9uGAsgASgJIvoBChRDb3N0QWxsb2NhdG9yUmVxdWVzdBIKCgJpZBgBIAEoCRIQCghjYXRlZ29yeRgCIAEoCRISCgpleHBpcmF0aW9uGAMgASgDEhIKCnN0YXJ0TW9udGgYBCABKAkSFgoOZGVmYXVsdEFjY291bnQYBSABKAkSMQoIY3JpdGVyaWEYBiABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSLgoJYWxsb2NhdG9yGAcgAygLMhsuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0b3ISDAoEbmFtZRgIIAEoCRITCgtkZXNjcmlwdGlvbhgJIAEoCSIXChVMaXN0QWxsb2NhdG9yc1JlcXVlc3Qi8AEKFkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEgoKZXhwaXJhdGlvbhgCIAEoAxISCgpzdGFydE1vbnRoGAMgASgJEhYKDmRlZmF1bHRBY2NvdW50GAQgASgJEjEKCGNyaXRlcmlhGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgGIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEgwKBG5hbWUYByABKAkSEwoLZGVzY3JpcHRpb24YCCABKAkiMgoeR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJIrEBCh9HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlElgKCWF0dHJpYnV0ZRgBIAMoCzJFLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZS5BbGxvY2F0aW9uQXR0cmlidXRlGjQKE0FsbG9jYXRpb25BdHRyaWJ1dGUSDAoEdHlwZRgBIAEoCRIPCgdzZXJ2aWNlGAIgAygJIj4KG0dldEFsbG9jYXRpb25Tb3VyY2VzUmVxdWVzdBIMCgR0eXBlGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCSLrAQocR2V0QWxsb2NhdGlvblNvdXJjZXNSZXNwb25zZRJQCgZzb3VyY2UYASADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25Tb3VyY2VzUmVzcG9uc2UuQWxsb2NhdGlvblNvdXJjZXMSKwoHdGFnRGF0YRgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlRhZ0RhdGEaTAoRQWxsb2NhdGlvblNvdXJjZXMSEwoLYWNjb3VudE5hbWUYASABKAkSDwoHc2VydmljZRgCIAEoCRIRCgljb3N0R3JvdXAYAyABKAkiJAoWRGVsZXRlQWxsb2NhdG9yUmVxdWVzdBIKCgJpZBgBIAEoCSJHChxQcm94eUNyZWF0ZUNvbXBsZXRpb25SZXF1ZXN0EicKBnBhcmFtcxgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiLQodUHJveHlDcmVhdGVDb21wbGV0aW9uUmVzcG9uc2USDAoEbGluZRgBIAEoCSLUBAoTQWNjb3VudFVzYWdlRGV0YWlscxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIMCgRkYXRlGAUgASgJEhMKC3Byb2R1Y3RDb2RlGAYgASgJEhMKC3NlcnZpY2VDb2RlGAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIMCgR6b25lGAkgASgJEhEKCXVzYWdlVHlwZRgKIAEoCRIUCgxpbnN0YW5jZVR5cGUYCyABKAkSEQoJb3BlcmF0aW9uGAwgASgJEhEKCWludm9pY2VJZBgNIAEoCRITCgtkZXNjcmlwdGlvbhgOIAEoCRISCgpyZXNvdXJjZUlkGA8gASgJEgwKBHRhZ3MYECABKAkSFgoOY29zdENhdGVnb3JpZXMYESABKAkSEwoLdXNhZ2VBbW91bnQYEiABKAESGQoRdHJ1ZVVuYmxlbmRlZENvc3QYEyABKAESFQoNdW5ibGVuZGVkQ29zdBgUIAEoARIVCg1lZmZlY3RpdmVDb3N0GBUgASgBEhUKDWFtb3J0aXplZENvc3QYFiABKAESGgoScHVibGljT25EZW1hbmRDb3N0GBcgASgBEhsKE3VudXNlZEFtb3J0aXplZENvc3QYGCABKAESEgoKbGFzdFVwZGF0ZRgZIAEoCRITCgtzcGxpdFN0YXR1cxgaIAEoCRITCgtpc0FsbG9jYXRlZBgbIAEoCBIRCglpc0FwcGxpZWQYHCABKAgSDgoGc291cmNlGB0gASgJIj0KF0xpc3RBY2NvdW50VXNhZ2VSZXF1ZXN0EhEKCXN0YXJ0RGF0ZRgBIAEoCRIPCgdlbmREYXRlGAIgASgJIjIKGlJlc3RvcmVBY2NvdW50VXNhZ2VSZXF1ZXN0EhQKDGFsbG9jYXRpb25JZBgBIAEoCSIjChVSZXN0b3JlU2F2aW5nc1JlcXVlc3QSCgoCaWQYASABKAkiugIKDlNhdmluZ3NEZXRhaWxzEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEg4KBnZlbmRvchgDIAEoCRIPCgdhY2NvdW50GAQgASgJEg0KBW1vbnRoGAUgASgJEgwKBHR5cGUYBiABKAkSCwoDYXJuGAcgASgJEhMKC3Byb2R1Y3RDb2RlGAggASgJEhIKCm9mZmVyQ2xhc3MYCSABKAkSEAoIb25kZW1hbmQYCiABKAESFQoNZWZmZWN0aXZlQ29zdBgLIAEoARIPCgdzYXZpbmdzGAwgASgBEhMKC3NwbGl0U3RhdHVzGA0gASgJEhMKC2lzQWxsb2NhdGVkGA4gASgIEhEKCWlzQXBwbGllZBgPIAEoCBIOCgZzb3VyY2UYECABKAkSEgoKbGFzdFVwZGF0ZRgRIAEoCSJqCh1HZXRDb3N0R3JvdXBBbGxvY2F0aW9uUmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSKAAQoOQWxsb2NhdGlvbkl0ZW0SDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJEg8KB3Byb2R1Y3QYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIMCgR0eXBlGAUgASgJEgwKBGNvc3QYBiABKAESEQoJY29zdEdyb3VwGAcgASgJIl8KF1Byb2Nlc3NBdXRoMFVzZXJSZXF1ZXN0Eg4KBnNvdXJjZRgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEg0KBWVtYWlsGAMgASgJEhEKCXN1YnVzZXJJZBgEIAEoCSIwChhQcm9jZXNzQXV0aDBVc2VyUmVzcG9uc2USFAoMaXNBdXRob3JpemVkGAEgASgIIpUCCgpEYXRhQWNjZXNzEg4KBnRhcmdldBgBIAEoCRINCgVvcmdJZBgCIAEoCRIxCgpnY3BPcHRpb25zGAMgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwT3B0aW9ucxI1CgxhenVyZU9wdGlvbnMYBCABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZU9wdGlvbnMSMQoKYXdzT3B0aW9ucxgFIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkF3c09wdGlvbnMSEwoLYWNjb3VudFR5cGUYBiABKAkSEgoKbGFzdFVwZGF0ZRgHIAEoCRISCgpjcmVhdGVUaW1lGAggASgJEg4KBnZlbmRvchgJIAEoCSLtAQoZUmVnaXN0ZXJEYXRhQWNjZXNzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDgoGdGFyZ2V0GAIgASgJEhMKC2FjY291bnRUeXBlGAMgASgJEjEKCmdjcE9wdGlvbnMYBCABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5HY3BPcHRpb25zEjUKDGF6dXJlT3B0aW9ucxgFIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkF6dXJlT3B0aW9ucxIxCgphd3NPcHRpb25zGAYgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzT3B0aW9ucyLrAQoXVXBkYXRlRGF0YUFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnZlbmRvchgCIAEoCRIxCgpnY3BPcHRpb25zGAMgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwT3B0aW9ucxI1CgxhenVyZU9wdGlvbnMYBCABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZU9wdGlvbnMSMQoKYXdzT3B0aW9ucxgFIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkF3c09wdGlvbnMSEwoLYWNjb3VudFR5cGUYBiABKAkiFwoVTGlzdERhdGFBY2Nlc3NSZXF1ZXN0IiEKH0xpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1JlcXVlc3QicQogTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzUmVzcG9uc2USDQoFb3JnSWQYASABKAkSPgoRdW5yZWdpc3RlcmVkQWNjdHMYAiADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLlVucmVnaXN0ZXJlZEFjY3RzIlQKEVVucmVnaXN0ZXJlZEFjY3RzEgoKAmlkGAEgASgJEg8KB3BheWVySWQYAiABKAkSDgoGc3RhdHVzGAMgASgJEhIKCmxhc3RVcGRhdGUYBCABKAkifAoVQmlsbGluZ0FjY291bnRSZXF1ZXN0EhEKCWJpbGxpbmdJZBgBIAEoCRIRCglkYXRhc2V0SWQYAiABKAkSFQoNZGF0YXNldFJlZ2lvbhgDIAEoCRIRCglwcm9qZWN0SWQYBCABKAkSEwoLYmlsbGluZ05hbWUYBSABKAkiVAodR2V0QW5kRGVsZXRlRGF0YUFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEg4KBnZlbmRvchgCIAEoCRITCgthY2NvdW50VHlwZRgDIAEoCSJhCiJBZGRQYXJ0bmVyQ2VudGVyQ3JlZGVudGlhbHNSZXF1ZXN0EhEKCWFjY291bnRJZBgBIAEoCRIVCg1hcHBsaWNhdGlvbklkGAIgASgJEhEKCXNlY3JldEtleRgDIAEoCSIlChRBZGRNcG5TZXR0aW5nUmVxdWVzdBINCgVtcG5JZBgBIAEoCSLWAQocR2V0Q29zdEdyb3VwQXR0cmlidXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSFQoNYXR0cmlidXRlVHlwZRgCIAEoCRITCgtjb3N0R3JvdXBJZBgDIAEoCRI9ChRleGlzdGluZ0NvbWJpbmF0aW9ucxgEIAMoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucxI7ChJjdXJyZW50Q29tYmluYXRpb24YBSABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMidwodR2V0Q29zdEdyb3VwQXR0cmlidXRlUmVzcG9uc2USKQoGcmVzdWx0GAEgAygLMhkuYmx1ZWFwaS5hcGkuY292ZXIuUmVzdWx0EisKB3RhZ0RhdGEYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5UYWdEYXRhIiYKFEdldENhdGVnb3JpZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJGChVHZXRDYXRlZ29yaWVzUmVzcG9uc2USLQoIY2F0ZWdvcnkYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5DYXRlZ29yeSISChBHZXRBbGVydHNSZXF1ZXN0IkQKEUdldEFsZXJ0c1Jlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSKGAQoSQ3JlYXRlQWxlcnRSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZml4ZWRBbW91bnQYAiABKAISEgoKcGVyY2VudGFnZRgDIAEoAhITCgtncmFudWxhcml0eRgEIAEoCRISCgpjb3N0R3JvdXBzGAUgAygJEhAKCGNoYW5uZWxzGAYgAygJIkYKE0NyZWF0ZUFsZXJ0UmVzcG9uc2USLwoJYWxlcnREYXRhGAEgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnREYXRhIiQKFkdldEFsZXJ0RGV0YWlsc1JlcXVlc3QSCgoCaWQYASABKAkiSgoXR2V0QWxlcnREZXRhaWxzUmVzcG9uc2USLwoJYWxlcnREYXRhGAEgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnREYXRhIiAKEkRlbGV0ZUFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCSIhChNEZWxldGVBbGVydFJlc3BvbnNlEgoKAmlkGAEgASgJIpkBChlVcGRhdGVBbGVydERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZml4ZWRBbW91bnQYAyABKAISEgoKcGVyY2VudGFnZRgEIAEoAhITCgtncmFudWxhcml0eRgFIAEoCRISCgpjb3N0R3JvdXBzGAYgAygJEhAKCGNoYW5uZWxzGAcgAygJIk0KGlVwZGF0ZUFsZXJ0RGV0YWlsc1Jlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIiChJHZXRDaGFubmVsc1JlcXVlc3QSDAoEdHlwZRgBIAEoCSJKChNHZXRDaGFubmVsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEiRgoUQ3JlYXRlQ2hhbm5lbFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIMCgR0eXBlGAIgASgJEhIKCndlYmhvb2tVcmwYAyABKAkiTAoVQ3JlYXRlQ2hhbm5lbFJlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEiJgoYR2V0Q2hhbm5lbERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJIlAKGUdldENoYW5uZWxEZXRhaWxzUmVzcG9uc2USMwoLY2hhbm5lbERhdGEYASABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5DaGFubmVsRGF0YSIiChREZWxldGVDaGFubmVsUmVxdWVzdBIKCgJpZBgBIAEoCSIjChVEZWxldGVDaGFubmVsUmVzcG9uc2USCgoCaWQYASABKAkiWQobVXBkYXRlQ2hhbm5lbERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRISCgp3ZWJob29rVXJsGAQgASgJIlMKHFVwZGF0ZUNoYW5uZWxEZXRhaWxzUmVzcG9uc2USMwoLY2hhbm5lbERhdGEYASABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5DaGFubmVsRGF0YSLPAQohR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEi8KCWF3c0lucHV0cxgCIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0lucHV0cxIzCgthenVyZUlucHV0cxgDIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkF6dXJlSW5wdXRzEi8KCWdjcElucHV0cxgEIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkdjcElucHV0cyKJAgoiR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZRJJChJhd3NSZWNvbW1lbmRhdGlvbnMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NEaXNjb3VudFJlY29tbWVuZGF0aW9ucxJNChRhenVyZVJlY29tbWVuZGF0aW9ucxgCIAEoCzIvLmJsdWVhcGkuYXBpLmNvdmVyLkF6dXJlRGlzY291bnRSZWNvbW1lbmRhdGlvbnMSSQoSZ2NwUmVjb21tZW5kYXRpb25zGAMgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwRGlzY291bnRSZWNvbW1lbmRhdGlvbnMiVwocR2V0QW5vbWFseWluQ29zdEdyb3VwUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCSLhAQoLQW5vbWFseURhdGESDwoHYWNjb3VudBgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHcHJvZHVjdBgEIAEoCRIMCgRkYXRlGAUgASgJEhEKCXRvdGFsQ29zdBgGIAEoAhIRCglpc0Fub21hbHkYByABKAgSEgoKbG93ZXJMaW1pdBgIIAEoAhISCgp1cHBlckxpbWl0GAkgASgCEhMKC2Fub21hbHlDb3N0GAogASgCEhoKEmFub21hbHlQcm9iYWJpbGl0eRgLIAEoAiKFAQokQ3JlYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0EhMKC2ZyZXF1ZW5jaWVzGAEgAygDEhIKCmNvc3RHcm91cHMYAiADKAkSFAoMYWxlcnRFbmFibGVkGAMgASgIEhAKCGNoYW5uZWxzGAQgAygJEgwKBG5hbWUYBSABKAkiNgooTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCSKRAQokVXBkYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJEhQKDGFsZXJ0RW5hYmxlZBgCIAEoCBIQCghjaGFubmVscxgDIAMoCRITCgtmcmVxdWVuY2llcxgEIAMoAxISCgpjb3N0R3JvdXBzGAUgAygJEgwKBG5hbWUYBiABKAki6QEKF0Rpc2NvdW50RXhwaXJ5QWxlcnREYXRhEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhQKDGFsZXJ0RW5hYmxlZBgDIAEoCBITCgtmcmVxdWVuY2llcxgEIAMoAxI1Cgpjb3N0R3JvdXBzGAUgAygLMiEuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDb3N0R3JvdXASDwoHZGV0YWlscxgGIAEoCRIyCghjaGFubmVscxgHIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q2hhbm5lbHMSDAoEbmFtZRgIIAEoCSIkCiJMaXN0RGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0IoUBChlDcmVhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0EgwKBG5hbWUYASABKAkSFAoMYWxlcnRFbmFibGVkGAIgASgIEhEKCWZyZXF1ZW5jeRgDIAEoCRITCgtjb3N0R3JvdXBJZBgEIAEoCRIcChRub3RpZmljYXRpb25DaGFubmVscxgFIAMoCSIrCh1NYW5pcHVsYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCSLQAQoQQW5vbWFseUFsZXJ0RGF0YRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIMCgRuYW1lGAMgASgJEhQKDGFsZXJ0RW5hYmxlZBgEIAEoCBIRCglmcmVxdWVuY3kYBSABKAkSNgoLY29zdEdyb3VwSWQYBiABKAsyIS5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENvc3RHcm91cBIyCghjaGFubmVscxgHIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q2hhbm5lbHMiGQoXTGlzdEFub21hbHlBbGVydFJlcXVlc3QikQEKGVVwZGF0ZUFub21hbHlBbGVydFJlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIUCgxhbGVydEVuYWJsZWQYAyABKAgSHAoUbm90aWZpY2F0aW9uQ2hhbm5lbHMYBCADKAkSEQoJZnJlcXVlbmN5GAUgASgJEhMKC2Nvc3RHcm91cElkGAYgASgJIokBChZSZWdpc3Rlck5ld1VzZXJSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEgwKBG5hbWUYAyABKAkSDwoHY29tcGFueRgEIAEoCRIMCgRyb2xlGAUgASgJEg4KBmFtb3VudBgGIAEoCRIRCglpbnRlbnRpb24YByABKAkiLwoXUmVnaXN0ZXJOZXdVc2VyUmVzcG9uc2USFAoMaXNBdXRob3JpemVkGAEgASgIIiYKFUdldFVzZXJQcm9maWxlUmVxdWVzdBINCgVlbWFpbBgBIAEoCSLOAQoWR2V0VXNlclByb2ZpbGVSZXNwb25zZRIZChFoYXNDcmVhdGVkUHJvZmlsZRgBIAEoCBIMCgRuYW1lGAIgASgJEgwKBHJvbGUYAyABKAkSDQoFdXNhZ2UYBCABKAkSEQoJaW50ZW50aW9uGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhQKDGVtYWlsQWRkcmVzcxgHIAEoCRISCgpsaW5rU291cmNlGAggASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAkgASgIIq4BChhVcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QSDQoFZW1haWwYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRyb2xlGAMgASgJEg0KBXVzYWdlGAQgASgJEhEKCWludGVudGlvbhgFIAEoCRITCgtjb21wYW55TmFtZRgGIAEoCRISCgpsaW5rU291cmNlGAcgASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAggASgIIq8BChlVcGRhdGVVc2VyUHJvZmlsZVJlc3BvbnNlEg0KBWVtYWlsGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEcm9sZRgDIAEoCRINCgV1c2FnZRgEIAEoCRIRCglpbnRlbnRpb24YBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSEgoKbGlua1NvdXJjZRgHIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgIIAEoCCJIChJMaXN0QnVkZ2V0c1JlcXVlc3QSHwoXaW5jbHVkZVNwZW5kQW5kRm9yZWNhc3QYASABKAgSEQoJY29zdEdyb3VwGAIgASgJIkgKE0xpc3RCdWRnZXRzUmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiHgoQR2V0QnVkZ2V0UmVxdWVzdBIKCgJpZBgBIAEoCSJGChFHZXRCdWRnZXRSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJIChNDcmVhdGVCdWRnZXRSZXF1ZXN0EjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIkkKFENyZWF0ZUJ1ZGdldFJlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIiEKE0RlbGV0ZUJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkiIgoURGVsZXRlQnVkZ2V0UmVzcG9uc2USCgoCaWQYASABKAkiVAoTVXBkYXRlQnVkZ2V0UmVxdWVzdBIKCgJpZBgBIAEoCRIxCgpidWRnZXREYXRhGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJJChRVcGRhdGVCdWRnZXRSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJLCi5SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXF1ZXN0EhkKEXJlZ2lzdHJhdGlvblRva2VuGAEgASgJImEKL1Jlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZ1Jlc3BvbnNlEhoKEmlzQWxsb3dlZFRvT25ib2FyZBgBIAEoCBISCgpjdXN0b21lcklkGAIgASgJIiYKJEdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVxdWVzdCLyAQolR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXNwb25zZRIWCg5kYXRlUmVnaXN0ZXJlZBgBIAEoCRIaChJzdWJzY3JpcHRpb25FeHBpcnkYAiABKAkSEAoIZGF5c0xlZnQYAyABKAUSFAoMaXNTdWJzY3JpYmVkGAQgASgIEhEKCWlzRXhwaXJlZBgFIAEoCBIMCgRwbGFuGAYgASgJEg4KBmFtb3VudBgHIAEoCRIVCg1wYXltZW50T3B0aW9uGAggASgJEhUKDXBheW1lbnRNZXRob2QYCSABKAkSDgoGY3JlZGl0GAogASgBIrMBChZDcmVhdGVQcm9maWxpbmdSZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEcm9sZRgCIAEoCRINCgV1c2FnZRgDIAEoCRIRCglpbnRlbnRpb24YBCABKAkSEwoLY29tcGFueU5hbWUYBSABKAkSFAoMZW1haWxBZGRyZXNzGAYgASgJEhIKCmxpbmtTb3VyY2UYByABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCCABKAgiGQoXQ3JlYXRlUHJvZmlsaW5nUmVzcG9uc2UiOQobQWRkSW5mb3RvTWFya2V0cGxhY2VSZXF1ZXN0EhoKEmN1c3RvbWVySWRlbnRpZmllchgBIAEoCSIeChxBZGRJbmZvdG9NYXJrZXRwbGFjZVJlc3BvbnNlIngKF0dldFJlcG9ydFN1bW1hcnlSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhIKCnJlcG9ydFR5cGUYBCABKAkSEAoIY3VycmVuY3kYBSABKAkirgIKGEdldFJlcG9ydFN1bW1hcnlSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRI9ChBleGVjdXRpdmVTdW1tYXJ5GAQgASgLMiMuYmx1ZWFwaS5hcGkuY292ZXIuRXhlY3V0aXZlU3VtbWFyeRJfCiFvcHRpbWl6YXRpb25SZWNvbW1lbmRhdGlvblN1bW1hcnkYBSABKAsyNC5ibHVlYXBpLmFwaS5jb3Zlci5PcHRpbWl6YXRpb25SZWNvbW1lbmRhdGlvblN1bW1hcnkSOQoOc2F2aW5nc1N1bW1hcnkYBiABKAsyIS5ibHVlYXBpLmFwaS5jb3Zlci5TYXZpbmdzU3VtbWFyeSKqAgoZTGlzdFJlY29tbWVuZGF0aW9uUmVxdWVzdBITCgtjb3N0Z3JvdXBJZBgBIAEoCRIWCg5kYXRlUmFuZ2VTdGFydBgCIAEoCRIUCgxkYXRlUmFuZ2VFbmQYAyABKAkSDgoGdmVuZG9yGAQgASgJEg4KBnNvdXJjZRgFIAEoCRIaChJvcHRpbWl6YXRpb25TdGF0dXMYByABKAkSDAoEdHlwZRgIIAEoCRIOCgZzcFR5cGUYCSABKAkSEQoJcmF0ZU1vZGVsGAogASgJEhUKDXBheW1lbnRPcHRpb24YCyABKAkSDAoEdGVybRgMIAEoCRIPCgdzZXJ2aWNlGA0gASgJEhUKDW9mZmVyaW5nQ2xhc3MYDiABKAkSEAoIY3VycmVuY3kYDyABKAki1QIKG0xpc3RSZWNvbW1lbmRhdGlvblYyUmVxdWVzdBITCgtjb3N0Z3JvdXBJZBgBIAEoCRIWCg5kYXRlUmFuZ2VTdGFydBgCIAEoCRIUCgxkYXRlUmFuZ2VFbmQYAyABKAkSUAoMcmF0ZVNldHRpbmdzGAQgASgLMjouYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QuUmF0ZVNldHRpbmdzEhAKCGN1cnJlbmN5GAUgASgJGo4BCgxSYXRlU2V0dGluZ3MSDgoGc3BUeXBlGAEgASgJEhEKCXJhdGVNb2RlbBgCIAEoCRIVCg1wYXltZW50T3B0aW9uGAMgASgJEgwKBHRlcm0YBCABKAkSDwoHc2VydmljZRgFIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAYgASgJEg4KBnZlbmRvchgHIAEoCSLaBgoaTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2USGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIWCg5yZWNvbW1lbmRhdGlvbhgCIAEoCRIPCgdzZXJ2aWNlGAMgASgJEh4KFmVzdGltYXRlZE1vbnRobHlTYXZpbmcYBCABKAESHAoUZXN0aW1hdGVkTW9udGhseUNvc3QYBSABKAESDwoHc2NvcmluZxgGIAEoCRIOCgZ2ZW5kb3IYByABKAkSEAoIY2F0ZWdvcnkYCCABKAkSGgoSb3B0aW1pemF0aW9uU3RhdHVzGAkgASgJEhQKDGVycm9yTWVzc2FnZRgKIAEoCRIRCglhY2NvdW50SWQYCyABKAkSEwoLYWNjb3VudE5hbWUYDCABKAkSFAoMaW5zdGFuY2VOYW1lGA0gASgJEhIKCmluc3RhbmNlSWQYDiABKAkSFAoMaW5zdGFuY2VUeXBlGA8gASgJEg4KBnJlZ2lvbhgQIAEoCRISCgpjb21taXRtZW50GBEgASgBEg4KBnNwVHlwZRgSIAEoCRIYChBudW1iZXJUb1B1cmNoYXNlGBMgASgDEg4KBnJpVHlwZRgUIAEoCRIMCgR0eXBlGBUgASgJEg4KBnNvdXJjZRgWIAEoCRIXCg9kYXRlUmVjb21tZW5kZWQYFyABKAkSGwoTcmVjb21tZW5kYXRpb25Hcm91cBgYIAEoCRIVCg1sYXN0VXBkYXRlZEF0GBkgASgJElMKDnB1cmNoYXNlT3B0aW9uGBogASgLMjsuYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25SZXNwb25zZS5QdXJjaGFzZU9wdGlvbhrPAQoOUHVyY2hhc2VPcHRpb24SDgoGc3BUeXBlGAEgASgJEhUKDW9mZmVyaW5nQ2xhc3MYAiABKAkSEgoKY29tbWl0bWVudBgDIAEoARIYChBudW1iZXJUb1B1cmNoYXNlGAQgASgDEhUKDXBheW1lbnRPcHRpb24YBSABKAkSDAoEdGVybRgGIAEoCRIZChFjdXJyZW50R2VuZXJhdGlvbhgHIAEoCBITCgtzZXJ2aWNlVHlwZRgIIAEoCRITCgt1cGZyb250Q29zdBgJIAEoASJRChhHZXRSZWNvbW1lbmRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSFAoMcGVyaW9kT3B0aW9uGAMgASgJIl4KGUdldFJlY29tbWVuZGF0aW9uUmVzcG9uc2USQQoScmVjb21tZW5kYXRpb25EYXRhGAEgASgLMiUuYmx1ZWFwaS5hcGkuY292ZXIuQVdTUmVjb21tZW5kYXRpb25zIkQKGkV4ZWN1dGVPcHRpbWl6YXRpb25SZXF1ZXN0EhgKEHJlY29tbWVuZGF0aW9uSWQYASABKAkSDAoEdHlwZRgCIAEoCSKUAwobRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlEkwKCWF3c09wdGlvbhgBIAEoCzI3LmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlLkFXU09wdGlvbkgAEkwKCWdjcE9wdGlvbhgCIAEoCzI3LmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlLkdDUE9wdGlvbkgAElYKDmF6dXJlQ3NwT3B0aW9uGAMgASgLMjwuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVzcG9uc2UuQXp1cmVDU1BPcHRpb25IABpYCglBV1NPcHRpb24SGgoSYXBwcm92ZVRlbXBsYXRlVXJsGAEgASgJEhgKEHJlY29tbWVuZGF0aW9uSWQYAiABKAkSFQoNY3VycmVudFN0YXR1cxgDIAEoCRoLCglHQ1BPcHRpb24aEAoOQXp1cmVDU1BPcHRpb25CCAoGVmVuZG9yIiMKFU1hcmtBc0V4ZWN1dGVkUmVxdWVzdBIKCgJpZBgBIAMoCSIYChZNYXJrQXNFeGVjdXRlZFJlc3BvbnNlIi8KIVVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVxdWVzdBIKCgJpZBgBIAMoCSIkCiJVbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlc3BvbnNlIqcBChpPcHRpbWl6YXRpb25IaXN0b3J5UmVxdWVzdBITCgtjb3N0Z3JvdXBJZBgBIAEoCRIWCg5kYXRlUmFuZ2VTdGFydBgCIAEoCRIUCgxkYXRlUmFuZ2VFbmQYAyABKAkSDgoGdmVuZG9yGAQgASgJEg4KBnNvdXJjZRgFIAEoCRIUCgxwZXJpb2RPcHRpb24YBiABKAkSEAoIY3VycmVuY3kYByABKAkidgobT3B0aW1pemF0aW9uSGlzdG9yeVJlc3BvbnNlElcKHWV4ZWN1dGVkUmVjb21tZW5kYXRpb25EZXRhaWxzGAIgAygLMjAuYmx1ZWFwaS5hcGkuY292ZXIuRXhlY3V0ZWRSZWNvbW1lbmRhdGlvbkRldGFpbHMiYAohU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg8KB2Fub21hbHkYAiABKAgSFQoNdmlzdWFsQnVpbGRlchgDIAEoCCJ0CiJTZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlc3BvbnNlEhMKC2Nvc3RHcm91cElkGAEgASgJEjkKDmV2ZW50SW5kaWNhdG9yGAIgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuRXZlbnRJbmRpY2F0b3IiewohU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhEKCXRocmVzaG9sZBgCIAEoAhIUCgxpc1BlcmNlbnRhZ2UYAyABKAgSGAoQcGFzdERhdGFJbk1vbnRocxgEIAEoAyJ0CiJTZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1Jlc3BvbnNlEhMKC2Nvc3RHcm91cElkGAEgASgJEjkKDmFub21hbHlPcHRpb25zGAIgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuQW5vbWFseU9wdGlvbnMiLwoYU2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0EhMKC2Zpc2NhbE1vbnRoGAEgASgJIjAKGVNldE9yZ0Zpc2NhbE1vbnRoUmVzcG9uc2USEwoLZmlzY2FsTW9udGgYASABKAkiGgoYR2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0IkgKGUdldE9yZ0Zpc2NhbE1vbnRoUmVzcG9uc2USEwoLZmlzY2FsTW9udGgYASABKAkSFgoOZGF0ZVJlZ2lzdGVyZWQYAiABKAkiWwobVHJhbnNmZXJPcmdhbml6YXRpb25SZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZyZWdpb24YAiABKAkSDQoFcGF5ZXIYAyABKAkSDQoFb3JnSWQYBCABKAkiLgocVHJhbnNmZXJPcmdhbml6YXRpb25SZXNwb25zZRIOCgZ0YXJnZXQYASABKAkiRQogVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlcXVlc3QSIQoZdXNlTmV3Q29zdEdyb3VwQ3JlYXRpb25VSRgBIAEoCCJSCiFVcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIWChRMaXN0VW5pdFR5cGVzUmVxdWVzdCJOChVMaXN0VW5pdFR5cGVzUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgAygLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIrYBChVDcmVhdGVVbml0VHlwZVJlcXVlc3QSEAoIdW5pdE5hbWUYASABKAkSLgoJdW5pdEl0ZW1zGAIgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVW5pdEl0ZW0SRgoPc2hhcmVkUmVzb3VyY2VzGAMgAygLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24SEwoLZGVzY3JpcHRpb24YBCABKAkiTwoWQ3JlYXRlVW5pdFR5cGVSZXNwb25zZRI1Cgx1bml0Q29zdERhdGEYASABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0Q29zdERhdGEiIAoSR2V0VW5pdFR5cGVSZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIsIBChVVcGRhdGVVbml0VHlwZVJlcXVlc3QSCgoCaWQYASABKAkSEAoIdW5pdE5hbWUYAiABKAkSLgoJdW5pdEl0ZW1zGAMgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVW5pdEl0ZW0SRgoPc2hhcmVkUmVzb3VyY2VzGAQgAygLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24SEwoLZGVzY3JpcHRpb24YBSABKAkiTwoWVXBkYXRlVW5pdFR5cGVSZXNwb25zZRI1Cgx1bml0Q29zdERhdGEYASABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0Q29zdERhdGEiIwoVRGVsZXRlVW5pdFR5cGVSZXF1ZXN0EgoKAmlkGAEgASgJIiQKFkRlbGV0ZVVuaXRUeXBlUmVzcG9uc2USCgoCaWQYASABKAkiTwoRTWVyZ2VVbml0c1JlcXVlc3QSEwoLdW5pdENvc3RJZHMYASADKAkSEAoIdW5pdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiTQoSTWVyZ2VVbml0c1Jlc3BvbnNlEjcKDm1lcmdlZFVuaXRDb3N0GAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIhsKGUxpc3RTdWdnZXN0ZWRVbml0c1JlcXVlc3QiVgoaTGlzdFN1Z2dlc3RlZFVuaXRzUmVzcG9uc2USOAoOc3VnZ2VzdGVkVW5pdHMYASADKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TdWdnZXN0ZWRVbml0InIKGk1lcmdlU3VnZ2VzdGVkVW5pdHNSZXF1ZXN0EhgKEHN1Z2dlc3RlZFVuaXRJZHMYASADKAkSEwoLdW5pdEl0ZW1JZHMYAiADKAkSEAoIdW5pdE5hbWUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiXQobTWVyZ2VTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlEj4KFG1lcmdlZFN1Z2dlc3RlZFVuaXRzGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuU3VnZ2VzdGVkVW5pdCI6Ch5DcmVhdGVVbml0RnJvbVN1Z2dlc3RlZFJlcXVlc3QSGAoQc3VnZ2VzdGVkVW5pdElkcxgBIAMoCSI2Ch9DcmVhdGVVbml0RnJvbVN1Z2dlc3RlZFJlc3BvbnNlEhMKC3VuaXRDb3N0SWRzGAEgAygJIhwKGkxpc3RTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0ImUKG0xpc3RTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASADKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiLTAgocQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIaChJzaGFyZWRSZXNvdXJjZU5hbWUYASABKAkSTQobc2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb25zGAIgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VzQ29tYmluYXRpb25zElYKDGRpc3RyaWJ1dGlvbhgDIAMoCzJALmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdC5EaXN0cmlidXRpb25FbnRyeRIRCglhbGxvY2F0ZWQYBCABKAESEwoLdW5hbGxvY2F0ZWQYBSABKAESEwoLZGVzY3JpcHRpb24YBiABKAkaMwoRRGlzdHJpYnV0aW9uRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJnCh1DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiInChlHZXRTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJImQKGkdldFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEkYKD3NoYXJlZFJlc291cmNlcxgBIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uIt8CChxVcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJEhoKEnNoYXJlZFJlc291cmNlTmFtZRgCIAEoCRJNChtzaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbnMYAyABKAsyKC5ibHVlYXBpLmFwaS5jb3Zlci5SZXNvdXJjZXNDb21iaW5hdGlvbnMSVgoMZGlzdHJpYnV0aW9uGAQgAygLMkAuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0LkRpc3RyaWJ1dGlvbkVudHJ5EhEKCWFsbG9jYXRlZBgFIAEoARITCgt1bmFsbG9jYXRlZBgGIAEoARITCgtkZXNjcmlwdGlvbhgHIAEoCRozChFEaXN0cmlidXRpb25FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBImcKHVVwZGF0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEkYKD3NoYXJlZFJlc291cmNlcxgBIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uIioKHERlbGV0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QSCgoCaWQYASABKAkiKwodRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USCgoCaWQYASABKAkiVwoWTGlzdFVuaXRNZXRyaWNzUmVxdWVzdBIZChFhZ2dyZWdhdGlvbk1ldGhvZBgBIAEoCRISCgpkYXRhU291cmNlGAIgASgJEg4KBnN0YXR1cxgDIAEoCSJNChdMaXN0VW5pdE1ldHJpY3NSZXNwb25zZRIyCgt1bml0TWV0cmljcxgBIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRNZXRyaWMiuQEKF0NyZWF0ZVVuaXRNZXRyaWNSZXF1ZXN0EhIKCm1ldHJpY05hbWUYASABKAkSGQoRYWdncmVnYXRpb25NZXRob2QYAiABKAkSEgoKZGF0YVNvdXJjZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRITCgtjb3N0Z3JvdXBJZBgFIAMoCRIxCgpzb3VyY2VJbmZvGAYgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuU291cmNlSW5mbyJNChhDcmVhdGVVbml0TWV0cmljUmVzcG9uc2USMQoKdW5pdE1ldHJpYxgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRNZXRyaWMiIgoUR2V0VW5pdE1ldHJpY1JlcXVlc3QSCgoCaWQYASABKAkiSgoVR2V0VW5pdE1ldHJpY1Jlc3BvbnNlEjEKCnVuaXRNZXRyaWMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIsUBChdVcGRhdGVVbml0TWV0cmljUmVxdWVzdBIKCgJpZBgBIAEoCRISCgptZXRyaWNOYW1lGAIgASgJEhkKEWFnZ3JlZ2F0aW9uTWV0aG9kGAMgASgJEhIKCmRhdGFTb3VyY2UYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSEwoLY29zdGdyb3VwSWQYBiADKAkSMQoKc291cmNlSW5mbxgHIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlNvdXJjZUluZm8iTQoYVXBkYXRlVW5pdE1ldHJpY1Jlc3BvbnNlEjEKCnVuaXRNZXRyaWMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIiUKF0RlbGV0ZVVuaXRNZXRyaWNSZXF1ZXN0EgoKAmlkGAEgASgJIiYKGERlbGV0ZVVuaXRNZXRyaWNSZXNwb25zZRIKCgJpZBgBIAEoCSJmChlQcmV2aWV3R29vZ2xlU2hlZXRSZXF1ZXN0EhUKDWdvb2dsZVNoZWV0SWQYASABKAkSEAoIc2hlZXRVcmwYAiABKAkSEQoJc2hlZXROYW1lGAMgASgJEg0KBXJhbmdlGAQgASgJIlkKGlByZXZpZXdHb29nbGVTaGVldFJlc3BvbnNlEg4KBmhlYWRlchgBIAMoCRIrCgdyb3dEYXRhGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuUm93RGF0YSIzCh9Db25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXF1ZXN0EhAKCHNoZWV0VXJsGAEgASgJIk0KIENvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1Jlc3BvbnNlEhUKDWdvb2dsZVNoZWV0SWQYASABKAkSEgoKc2hlZXROYW1lcxgCIAMoCSJ2ChxHZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXF1ZXN0EhEKCWFjY291bnRJZBgBIAEoCRIOCgZyZWdpb24YAiABKAkSDAoEdHlwZRgDIAEoCRIRCgluYW1lc3BhY2UYBCABKAkSEgoKbWV0cmljTmFtZRgFIAEoCSK+AQodR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVzcG9uc2USEgoKbmFtZXNwYWNlcxgBIAMoCRIPCgdtZXRyaWNzGAIgAygJEk0KCmRpbWVuc2lvbnMYAyADKAsyOS5ibHVlYXBpLmNvdmVyLnYxLkdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlc3BvbnNlLkRpbWVuc2lvbhopCglEaW1lbnNpb24SDAoEbmFtZRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkigQIKFkdldERpc2NvdW50UGxhblJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW9yZ0lkGAIgASgJEhgKEHJlZHVjdGlvbkRpc3BsYXkYAyABKAkSFgoOaW5jbHVkZURldGFpbHMYBCABKAgSEAoIZnJvbURhdGUYBSABKAkSDgoGdG9EYXRlGAYgASgJEg8KB3BheWVySWQYByABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYCCABKAkSDwoHZ3JvdXBJZBgJIAEoCRITCgtjb3N0R3JvdXBJZBgKIAEoCRIQCghhY2NvdW50cxgLIAMoCRIQCghzZXJ2aWNlcxgMIAMoCSJnChdHZXREaXNjb3VudFBsYW5SZXNwb25zZRINCgVvcmdJZBgBIAEoCRI9ChBhd3NEaXNjb3VudFBsYW5zGAIgASgLMiMuYmx1ZWFwaS5hcGkuY292ZXIuQXdzRGlzY291bnRQbGFucyJzChxMaXN0Tm9ucGVyZm9ybWluZ1JhdGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCRIQCghmcm9tRGF0ZRgDIAEoCRIOCgZ0b0RhdGUYBCABKAkSDAoEdHlwZRgFIAEoCSLJAQodTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVzcG9uc2USVAoNbm9ucGVyZm9ybWluZxgBIAMoCzI9LmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVzcG9uc2UuTm9ucGVyZm9ybWluZxpSCg1Ob25wZXJmb3JtaW5nEgwKBHR5cGUYASABKAkSDwoHYWNjb3VudBgCIAEoCRITCgt1dGlsaXphdGlvbhgDIAEoARINCgV3YXN0ZRgEIAEoASJ0ChxMaXN0VW50YWdnZWRSZXNvdXJjZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCRIQCghmcm9tRGF0ZRgDIAEoCRIOCgZ0b0RhdGUYBCABKAkSDQoFbGltaXQYBSABKAMi+QEKHUxpc3RVbnRhZ2dlZFJlc291cmNlc1Jlc3BvbnNlElwKEXVudGFnZ2VkUmVzb3VyY2VzGAEgAygLMkEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW50YWdnZWRSZXNvdXJjZXNSZXNwb25zZS5VbnRhZ2dlZFJlc291cmNlcxp6ChFVbnRhZ2dlZFJlc291cmNlcxIQCghyZXNvdXJjZRgBIAEoCRIPCgdzZXJ2aWNlGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRIRCgljb3N0R3JvdXAYBCABKAkSDAoEY29zdBgFIAEoARIOCgZ2ZW5kb3IYBiABKAkqPwoGU3RhdHVzEgsKB1BFTkRJTkcQABIPCgtJTl9QUk9HUkVTUxABEgsKB1NVQ0NFU1MQAhIKCgZGQUlMRUQQAzLm4gEKBUNvdmVyEncKCk9uYm9hcmRPcmcSIy5ibHVlYXBpLmNvdmVyLnYxLk9uYm9hcmRPcmdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5PbmJvYXJkT3JnUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvb25ib2FyZBJ/CgxJbnZpdGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkludml0ZU1lbWJlclJlc3BvbnNlIiCIAgGC0+STAhc6ASoiEi92MS9tZW1iZXJzL2ludml0ZRJ+CgxBY3RpdmF0ZVVzZXISJS5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkFjdGl2YXRlVXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL2FjdGl2YXRlEnUKDENyZWF0ZU1lbWJlchIlLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlTWVtYmVyUmVzcG9uc2UiFoLT5JMCEDoBKiILL3YxL21lbWJlcnMSbwoKR2V0TWVtYmVycxIjLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyc1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlcnNSZXNwb25zZSIWiAIBgtPkkwINEgsvdjEvbWVtYmVycxKKAQoQR2V0TWVtYmVyRGV0YWlscxIpLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyRGV0YWlsc1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckRldGFpbHNSZXNwb25zZSIfiAIBgtPkkwIWEhQvdjEvbWVtYmVycy97dXNlcklkfRKaAQoSR2V0TWVtYmVyQ29zdEdyb3VwEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJDb3N0R3JvdXBSZXNwb25zZSIpiAIBgtPkkwIgEh4vdjEvbWVtYmVycy97dXNlcklkfS9jb3N0Z3JvdXASpwEKFlVwZGF0ZU1lbWJlclBlcm1pc3Npb24SLy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZU1lbWJlclBlcm1pc3Npb25SZXF1ZXN0GjAuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2UiKogCAYLT5JMCIToBKhocL3YxL21lbWJlcnMve3VzZXJJZH0vaXNhZG1pbhJzCg5HZXRVc2VyRGV0YWlscxInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlckRldGFpbHNSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyRGV0YWlsc1Jlc3BvbnNlIg6C0+STAggSBi92MS9tZRKDAQoQVXBkYXRlVXNlckF2YXRhchIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF2YXRhclJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdmF0YXJSZXNwb25zZSIYgtPkkwISOgEqGg0vdjEvbWUvYXZhdGFyEnsKDlVwZGF0ZVVzZXJJY29uEicuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VySWNvblJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJJY29uUmVzcG9uc2UiFoLT5JMCEDoBKhoLL3YxL21lL2ljb24SkwEKFFVwZGF0ZVVzZXJDb2xvclRoZW1lEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQ29sb3JUaGVtZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJDb2xvclRoZW1lUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL21lL2NvbG9ydGhlbWUSewoOVXBkYXRlVXNlck5hbWUSJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJOYW1lUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck5hbWVSZXNwb25zZSIWgtPkkwIQOgEqGgsvdjEvbWUvbmFtZRJ/Cg9VcGRhdGVVc2VyRW1haWwSKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlIheC0+STAhE6ASoaDC92MS9tZS9lbWFpbBKLAQoSVXBkYXRlVXNlck1haW5WaWV3EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTWFpblZpZXdSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvbWUvbWFpbnZpZXcSiAEKEVJlc2V0VXNlclBhc3N3b3JkEiouYmx1ZWFwaS5jb3Zlci52MS5SZXNldFVzZXJQYXNzd29yZFJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0VXNlclBhc3N3b3JkUmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL21lL3Bhc3N3b3JkEoMBChBVcGRhdGVVc2VyTG9jYWxlEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTG9jYWxlUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckxvY2FsZVJlc3BvbnNlIhiC0+STAhI6ASoaDS92MS9tZS9sb2NhbGUSiwEKElVwZGF0ZVVzZXJBcHBUaGVtZRIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL21lL2FwcHRoZW1lEosBChJVcGRhdGVVc2VyVGltZXpvbmUSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJUaW1lem9uZVJlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9tZS90aW1lem9uZRKTAQoUVXBkYXRlVXNlckF0dHJpYnV0ZXMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckF0dHJpYnV0ZXNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvbWUvYXR0cmlidXRlcxJ7CgxEZWxldGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZU1lbWJlclJlc3BvbnNlIhyC0+STAhYqFC92MS9tZW1iZXJzL3t1c2VySWR9EoYBCg1SZXNldFBhc3N3b3JkEiYuYmx1ZWFwaS5jb3Zlci52MS5SZXNldFBhc3N3b3JkUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuUmVzZXRQYXNzd29yZFJlc3BvbnNlIiSC0+STAh46ASoiGS92MS9tZW1iZXJzL3Jlc2V0cGFzc3dvcmQSbQoKQ3JlYXRlVmlldxIjLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVmlld1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVZpZXdSZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEvdmlld3MSZAoIR2V0Vmlld3MSIS5ibHVlYXBpLmNvdmVyLnYxLkdldFZpZXdzUmVxdWVzdBoiLmJsdWVhcGkuY292ZXIudjEuR2V0Vmlld3NSZXNwb25zZSIRgtPkkwILEgkvdjEvdmlld3MSfwoOR2V0Q3VycmVudFZpZXcSJy5ibHVlYXBpLmNvdmVyLnYxLkdldEN1cnJlbnRWaWV3UmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q3VycmVudFZpZXdSZXNwb25zZSIagtPkkwIUEhIvdjEvdmlld3Mve3ZpZXdJZH0ShgEKEEdldEZhdm9yaXRlVmlld3MSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEZhdm9yaXRlVmlld3NSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRGYXZvcml0ZVZpZXdzUmVzcG9uc2UiG4LT5JMCFRITL3YxL3ZpZXdzL2Zhdm9yaXRlcxJ4CgtQdWJsaXNoVmlldxIkLmJsdWVhcGkuY292ZXIudjEuUHVibGlzaFZpZXdSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5QdWJsaXNoVmlld1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS92aWV3cy9wdWJsaXNoEn0KC0FkZEZhdm9yaXRlEiQuYmx1ZWFwaS5jb3Zlci52MS5BZGRGYXZvcml0ZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFkZEZhdm9yaXRlUmVzcG9uc2UiIYLT5JMCGzoBKhoWL3YxL3ZpZXdzL2Zhdm9yaXRlL2FkZBKJAQoOUmVtb3ZlRmF2b3JpdGUSJy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUZhdm9yaXRlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlRmF2b3JpdGVSZXNwb25zZSIkgtPkkwIeOgEqGhkvdjEvdmlld3MvZmF2b3JpdGUvcmVtb3ZlEnYKClVwZGF0ZVZpZXcSIy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3UmVzcG9uc2UiHYLT5JMCFzoBKhoSL3YxL3ZpZXdzL3t2aWV3SWR9Eo8BChBVcGRhdGVWaWV3TGF5b3V0EikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3TGF5b3V0UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0xheW91dFJlc3BvbnNlIiSC0+STAh46ASoaGS92MS92aWV3cy9sYXlvdXQve3ZpZXdJZH0SmgEKEFVwZGF0ZVZpZXdXaWRnZXQSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3V2lkZ2V0UmVzcG9uc2UiL4LT5JMCKToBKhokL3YxL3ZpZXdzL2xheW91dC97dmlld0lkfS97d2lkZ2V0SWR9Ep8BChRVcGRhdGVWaWV3Q29sb3JUaGVtZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0NvbG9yVGhlbWVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q29sb3JUaGVtZVJlc3BvbnNlIiiC0+STAiI6ASoaHS92MS92aWV3cy97dmlld0lkfS9jb2xvcnRoZW1lEpcBChJVcGRhdGVWaWV3Q3VycmVuY3kSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlIiaC0+STAiA6ASoaGy92MS92aWV3cy97dmlld0lkfS9jdXJyZW5jeRKcAQoUU2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKZAQoUR2V0T3JnVXBkYXRlQ3VycmVuY3kSLS5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXNwb25zZSIigtPkkwIcEhovdjEvb3JnYW5pemF0aW9ucy9jdXJyZW5jeRKNAQoRTGlzdEV4Y2hhbmdlUmF0ZXMSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIfgtPkkwIZEhcvdjEvb3JnYW5pemF0aW9ucy9yYXRlcxJzCgpEZWxldGVWaWV3EiMuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVWaWV3UmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVmlld1Jlc3BvbnNlIhqC0+STAhQqEi92MS92aWV3cy97dmlld0lkfRKfAQoTVXBkYXRlU2lkZU1lbnVTdGF0ZRIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZSIrgtPkkwIlOgEqGiAvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVzdGF0ZRKiAQoTQWRkU2lkZU1lbnVGYXZvcml0ZRIsLmJsdWVhcGkuY292ZXIudjEuQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkFkZFNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIugtPkkwIoOgEqIiMvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnVmYXZvcml0ZRKtAQoWUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZRIvLmJsdWVhcGkuY292ZXIudjEuUmVtb3ZlU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QaMC5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXNwb25zZSIwgtPkkwIqOgEqIiUvdjEvdmlld3Mve3ZpZXdJZH0vc2lkZW1lbnV1bmZhdm9yaXRlEoEBCg9DcmVhdGVDb3N0R3JvdXASKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RHcm91cFJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9jb3N0Z3JvdXBzEngKDUdldENvc3RHcm91cHMSJi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cHNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBzUmVzcG9uc2UiFoLT5JMCEBIOL3YxL2Nvc3Rncm91cHMSeAoNR2V0Q2F0ZWdvcmllcxImLmJsdWVhcGkuY292ZXIudjEuR2V0Q2F0ZWdvcmllc1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkdldENhdGVnb3JpZXNSZXNwb25zZSIWgtPkkwIQEg4vdjEvY2F0ZWdvcmllcxKYAQoTR2V0Q29zdEdyb3VwRGV0YWlscxIsLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cERldGFpbHNSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqABChNVcGRhdGVDb3N0R3JvdXBOYW1lEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBOYW1lUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlIiyC0+STAiY6ASoaIS92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbmFtZRK8AQoaVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb24SMy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXNwb25zZSIzgtPkkwItOgEqGigvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2Rlc2NyaXB0aW9uEqQBChRVcGRhdGVDb3N0R3JvdXBJbWFnZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJbWFnZVJlc3BvbnNlIi2C0+STAic6ASoaIi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vaW1hZ2USoAEKE1VwZGF0ZUNvc3RHcm91cEljb24SLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEljb25SZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9pY29uErgBChlVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZVJlc3BvbnNlIjKC0+STAiw6ASoaJy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vY29sb3J0aGVtZRLAAQobVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zEjQuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXF1ZXN0GjUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSI0gtPkkwIuOgEqGikvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2NvbWJpbmF0aW9ucxK7AQocUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9ucxI1LmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXNwb25zZSIsgtPkkwImEiQvdjEvY29zdGdyb3Vwcy9yZXNvbHZlL3tjb3N0R3JvdXBJZH0SrAEKFUFzc2lnbkNvc3RHcm91cE1lbWJlchIuLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuQXNzaWduQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2UiMoLT5JMCLDoBKiInL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9tZW1iZXIvYWRkEq8BChVSZW1vdmVDb3N0R3JvdXBNZW1iZXISLi5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUNvc3RHcm91cE1lbWJlclJlc3BvbnNlIjWC0+STAi86ASoiKi92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbWVtYmVyL3JlbW92ZRKMAQoPRGVsZXRlQ29zdEdyb3VwEiguYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0R3JvdXBSZXNwb25zZSIkgtPkkwIeKhwvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9EqYBChtHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmwSNC5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlcXVlc3QaNS5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NUZW1wbGF0ZVVybFJlc3BvbnNlIhqC0+STAhQSEi92MS9hd3MvYWNjdGFjY2VzcxKKAQoRTGlzdEFjY291bnRBY2Nlc3MSKi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3MvYWxsOnJlYWQwARKDAQoQR2V0QWNjb3VudEFjY2VzcxIpLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiI4LT5JMCHRIbL3YxL2F3cy9hY2N0YWNjZXNzL3t0YXJnZXR9EnwKDUdldERhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5EYXRhQWNjZXNzIhyC0+STAhYSFC92MS9hY2NvdW50L3t0YXJnZXR9EnkKEERlbGV0ZURhdGFBY2Nlc3MSLy5ibHVlYXBpLmNvdmVyLnYxLkdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9hY2NvdW50L3t0YXJnZXR9EoMBChNDcmVhdGVBY2NvdW50QWNjZXNzEiwuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyIdgtPkkwIXOgEqIhIvdjEvYXdzL2FjY3RhY2Nlc3MSnAEKG0NyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldBI0LmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWNjb3VudEFjY2Vzc1N0YWNrc2V0UmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyImgtPkkwIgOgEqIhsvdjEvYXdzL2FjY3RhY2Nlc3Mvc3RhY2tzZXQSigEKFkNyZWF0ZUFjY291bnRBY2Nlc3NDdXISLC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiGC0+STAhs6ASoiFi92MS9hd3MvYWNjdGFjY2Vzcy9jdXISewoTVXBkYXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiOC0+STAh0aGy92MS9hd3MvYWNjdGFjY2Vzcy97dGFyZ2V0fRKTAQoTRGVsZXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFjY291bnRBY2Nlc3NSZXNwb25zZSIfgtPkkwIZKhcvdjEvYWNjdGFjY2Vzcy97dGFyZ2V0fRJ0Cg9SZWdpc3RlckFjY291bnQSKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiH4LT5JMCGToBKiIUL3YxL3t2ZW5kb3J9L2FjY291bnQScQoSUmVnaXN0ZXJEYXRhQWNjZXNzEisuYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3RlckRhdGFBY2Nlc3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhaC0+STAhA6ASoiCy92MS9hY2NvdW50EnAKEUFkZEJpbGxpbmdBY2NvdW50EicuYmx1ZWFwaS5jb3Zlci52MS5CaWxsaW5nQWNjb3VudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFDoBKiIPL3YxL2JpbGxpbmdhY2N0EncKDkxpc3REYXRhQWNjZXNzEicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGF0YUFjY2Vzc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkRhdGFBY2Nlc3MiHILT5JMCFiIUL3YxL2FjY291bnQvYWxsOnJlYWQwARKoAQoYTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzEjEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXNwb25zZSIlgtPkkwIfIh0vdjEvYWNjb3VudC91bnJlZ2lzdGVyZWQ6cmVhZBJ2ChBVcGRhdGVEYXRhQWNjZXNzEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVEYXRhQWNjZXNzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZOgEqGhQvdjEvYWNjb3VudC97dGFyZ2V0fRJrCgpMaXN0QXNzZXRzEiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzUmVxdWVzdBoaLmJsdWVhcGkuY292ZXIudjEuUmVzb3VyY2UiGoLT5JMCFDoBKiIPL3YxL2Fzc2V0czpyZWFkMAESkwEKEEdldEFzc2V0c1N1bW1hcnkSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEFzc2V0c1N1bW1hcnlSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRBc3NldHNTdW1tYXJ5UmVzcG9uc2UiKILT5JMCIhIgL3YxL2Fzc2V0cy9zdW1tYXJ5L3tjb3N0R3JvdXBJZH0ScgoMR2V0Q29zdFVzYWdlEiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0GhouYmx1ZWFwaS5jb3Zlci52MS5Db3N0SXRlbSIdgtPkkwIXOgEqIhIvdjEvY29zdHVzYWdlOnJlYWQwARLCAQocR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvbhI1LmJsdWVhcGkuY292ZXIudjEuR2V0UmlnaHRTaXppbmdSZWNvbW1lbmRhdGlvblJlcXVlc3QaNi5ibHVlYXBpLmNvdmVyLnYxLkdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXNwb25zZSIzgtPkkwItEisvdjEvcmlnaHRzaXppbmdyZWNvbW1lbmRhdGlvbi97Y29zdEdyb3VwSWR9EpgBChJNb2RpZnlSZXNvdXJjZVR5cGUSKy5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLk1vZGlmeVJlc291cmNlVHlwZVJlc3BvbnNlIieC0+STAiE6ASoiHC92MS97dmVuZG9yfS9yZXNvdXJjZS9tb2RpZnkSmAEKEVRlcm1pbmF0ZVJlc291cmNlEiouYmx1ZWFwaS5jb3Zlci52MS5UZXJtaW5hdGVSZXNvdXJjZVJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlRlcm1pbmF0ZVJlc291cmNlUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL3t2ZW5kb3J9L3Jlc291cmNlL3Rlcm1pbmF0ZRKNAQoQVXBsb2FkQ2hhcmdlQ29kZRIpLmJsdWVhcGkuY292ZXIudjEuVXBsb2FkQ2hhcmdlQ29kZVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwbG9hZENoYXJnZUNvZGVSZXNwb25zZSIggtPkkwIaOgEqIhUvdjEvY2hhcmdlY29kZS91cGxvYWQoARJ6CgtBc3NpZ25QYXllchIkLmJsdWVhcGkuY292ZXIudjEuQXNzaWduUGF5ZXJSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5Bc3NpZ25QYXllclJlc3BvbnNlIh6C0+STAhg6ASoiEy92MS97dmVuZG9yfS9wYXllcnMScQoJR2V0UGF5ZXJzEiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRQYXllcnNSZXNwb25zZSIbgtPkkwIVEhMvdjEve3ZlbmRvcn0vcGF5ZXJzEocBCgtHZXRBY2NvdW50cxIkLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50c1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9hY2NvdW50cy97Y29zdEdyb3VwSWR9EocBCgtHZXRTZXJ2aWNlcxIkLmJsdWVhcGkuY292ZXIudjEuR2V0U2VydmljZXNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRTZXJ2aWNlc1Jlc3BvbnNlIiuC0+STAiUSIy92MS97dmVuZG9yfS9zZXJ2aWNlcy97Y29zdEdyb3VwSWR9EoMBCgpHZXRSZWdpb25zEiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWdpb25zUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuR2V0UmVnaW9uc1Jlc3BvbnNlIiqC0+STAiQSIi92MS97dmVuZG9yfS9yZWdpb25zL3tjb3N0R3JvdXBJZH0SdwoHR2V0VGFncxIgLmJsdWVhcGkuY292ZXIudjEuR2V0VGFnc1JlcXVlc3QaIS5ibHVlYXBpLmNvdmVyLnYxLkdldFRhZ3NSZXNwb25zZSIngtPkkwIhEh8vdjEve3ZlbmRvcn0vdGFncy97Y29zdEdyb3VwSWR9EncKCExpc3RGZWVzEiEuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RmVlc1JlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvYWxsOnJlYWQwARJ6CgpSZXN0b3JlRmVlEiMuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlRmVlUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRmVlRGV0YWlscyIngtPkkwIhOgEqIhwvdjEvYWxsb2NhdGlvbnMvZmVlcy9yZXN0b3JlMAESfgoPR2V0Q29zdEdyb3VwRmVlEiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBGZWVSZXF1ZXN0GhkuYmx1ZWFwaS5jb3Zlci52MS5GZWVJdGVtIiSC0+STAh46ASoiGS92MS9hbGxvY2F0aW9ucy9mZWVzOnJlYWQwARJ7Cg5MaXN0QWxsb2NhdG9ycxInLmJsdWVhcGkuY292ZXIudjEuTGlzdEFsbG9jYXRvcnNSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yRGV0YWlscyIWgtPkkwIQEg4vdjEvYWxsb2NhdG9yczABEn4KD0NyZWF0ZUFsbG9jYXRvchIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiGYLT5JMCEzoBKiIOL3YxL2FsbG9jYXRvcnMSoAEKF0dldEFsbG9jYXRpb25BdHRyaWJ1dGVzEjAuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1JlcXVlc3QaMS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UiIILT5JMCGhIYL3YxL2FsbG9jYXRvcnMvYXR0cmlidXRlEpQBChRHZXRBbGxvY2F0aW9uU291cmNlcxItLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlIh2C0+STAhcSFS92MS9hbGxvY2F0b3JzL3NvdXJjZRKBAQoPVXBkYXRlQWxsb2NhdG9yEiYuYmx1ZWFwaS5jb3Zlci52MS5Db3N0QWxsb2NhdG9yUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiHoLT5JMCGDoBKhoTL3YxL2FsbG9jYXRvcnMve2lkfRJwCg9EZWxldGVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiG4LT5JMCFSoTL3YxL2FsbG9jYXRvcnMve2lkfRKQAQoVUHJveHlDcmVhdGVDb21wbGV0aW9uEi4uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5Qcm94eUNyZWF0ZUNvbXBsZXRpb25SZXNwb25zZSIUgtPkkwIOOgEqIgkvdjEveC9wY2MwARKKAQoUU2ltdWxhdGVGZWVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiKILT5JMCIjoBKiIdL3YxL2FsbG9jYXRpb25zL2ZlZXMvc2ltdWxhdGUwARKYAQoQTGlzdEFjY291bnRVc2FnZRIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFjY291bnRVc2FnZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9hbGw6cmVhZDABEp0BChNSZXN0b3JlQWNjb3VudFVzYWdlEiwuYmx1ZWFwaS5jb3Zlci52MS5SZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudFVzYWdlRGV0YWlscyIvgtPkkwIpOgEqIiQvdjEvYWxsb2NhdGlvbnMvYWNjb3VudHVzYWdlL3Jlc3RvcmUwARKbAQoUU2ltdWxhdGVBY2NvdW50VXNhZ2USKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiMILT5JMCKjoBKiIlL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9zaW11bGF0ZTABEoEBCgtMaXN0U2F2aW5ncxIhLmJsdWVhcGkuY292ZXIudjEuTGlzdEZlZXNSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIrgtPkkwIlOgEqIiAvdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9hbGw6cmVhZDABEokBCg5SZXN0b3JlU2F2aW5ncxInLmJsdWVhcGkuY292ZXIudjEuUmVzdG9yZVNhdmluZ3NSZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5TYXZpbmdzRGV0YWlscyIqgtPkkwIkOgEqIh8vdjEvYWxsb2NhdGlvbnMvc2F2aW5ncy9yZXN0b3JlMAESjAEKD1NpbXVsYXRlU2F2aW5ncxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxsb2NhdG9yUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuU2F2aW5nc0RldGFpbHMiK4LT5JMCJToBKiIgL3YxL2FsbG9jYXRpb25zL3NhdmluZ3Mvc2ltdWxhdGUwARKOAQoWR2V0Q29zdEdyb3VwQWxsb2NhdGlvbhIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRpb25JdGVtIh+C0+STAhk6ASoiFC92MS9hbGxvY2F0aW9uczpyZWFkMAEShwEKEFByb2Nlc3NBdXRoMFVzZXISKS5ibHVlYXBpLmNvdmVyLnYxLlByb2Nlc3NBdXRoMFVzZXJSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5Qcm9jZXNzQXV0aDBVc2VyUmVzcG9uc2UiHILT5JMCFjoBKiIRL3YxL21lbWJlcnMvYXV0aDASmwEKG0FkZFBhcnRuZXJDZW50ZXJDcmVkZW50aWFscxI0LmJsdWVhcGkuY292ZXIudjEuQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoOgEqIiMvdjEvYXp1cmUvY3JlZGVudGlhbHMvcGFydG5lcmNlbnRlchJ1Cg1BZGRNcG5TZXR0aW5nEiYuYmx1ZWFwaS5jb3Zlci52MS5BZGRNcG5TZXR0aW5nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeOgEqIhkvdjEvYXp1cmUvY3JlZGVudGlhbHMvbXBuEpMBChVHZXRDb3N0R3JvdXBBdHRyaWJ1dGUSLi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9hdHRyaWJ1dGVzEm8KCUdldEFsZXJ0cxIiLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVxdWVzdBojLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2FsZXJ0cy9jb3N0MAESdgoLQ3JlYXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWxlcnRSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYWxlcnRzL2Nvc3QShAEKD0dldEFsZXJ0RGV0YWlscxIoLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0QWxlcnREZXRhaWxzUmVzcG9uc2UiHILT5JMCFhIUL3YxL2FsZXJ0cy9jb3N0L3tpZH0SeAoLRGVsZXRlQWxlcnQSJC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsZXJ0UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQWxlcnRSZXNwb25zZSIcgtPkkwIWKhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRKQAQoSVXBkYXRlQWxlcnREZXRhaWxzEisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbGVydERldGFpbHNSZXNwb25zZSIfgtPkkwIZOgEqGhQvdjEvYWxlcnRzL2Nvc3Qve2lkfRJ6CgtHZXRDaGFubmVscxIkLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbHNSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsc1Jlc3BvbnNlIhyC0+STAhY6ASoiES92MS9jaGFubmVsczpyZWFkMAESeQoNQ3JlYXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNoYW5uZWxSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvY2hhbm5lbHMShwEKEUdldENoYW5uZWxEZXRhaWxzEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsRGV0YWlsc1JlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxEZXRhaWxzUmVzcG9uc2UiGYLT5JMCExIRL3YxL2NoYW5uZWxzL3tpZH0SewoNRGVsZXRlQ2hhbm5lbBImLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ2hhbm5lbFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNoYW5uZWxSZXNwb25zZSIZgtPkkwITKhEvdjEvY2hhbm5lbHMve2lkfRKTAQoUVXBkYXRlQ2hhbm5lbERldGFpbHMSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ2hhbm5lbERldGFpbHNSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvY2hhbm5lbHMve2lkfRKgAQoaR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnMSMy5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRSZWNvbW1lbmRhdGlvbnNSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvZGlzY291bnQSgAEKFUdldEFub21hbHlpbkNvc3RHcm91cBIuLmJsdWVhcGkuY292ZXIudjEuR2V0QW5vbWFseWluQ29zdEdyb3VwUmVxdWVzdBodLmJsdWVhcGkuY292ZXIudjEuQW5vbWFseURhdGEiFoLT5JMCEDoBKiILL3YxL2Fub21hbHkwARKWAQodQ3JlYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfOgEqIhovdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudBKbAQodVXBkYXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSNi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkOgEqGh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EqwBChpHZXREaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuRGlzY291bnRFeHBpcnlBbGVydERhdGEiJ4LT5JMCIRIfL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQve2lkfRKtAQobTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjQuYmx1ZWFwaS5jb3Zlci52MS5MaXN0RGlzY291bnRFeHBpcmF0aW9uQWxlcnRSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5EaXNjb3VudEV4cGlyeUFsZXJ0RGF0YSIrgtPkkwIlIiMvdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC9hbGw6cmVhZDABEpwBCh1EZWxldGVEaXNjb3VudEV4cGlyYXRpb25BbGVydBI6LmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhKh8vdjEvYWxlcnRzL2V4cGlyZS9kaXNjb3VudC97aWR9EngKEkNyZWF0ZUFub21hbHlBbGVydBIrLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXOgEqIhIvdjEvYWxlcnRzL2Fub21hbHkSfgoSRGVsZXRlQW5vbWFseUFsZXJ0Ei8uYmx1ZWFwaS5jb3Zlci52MS5NYW5pcHVsYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIfgtPkkwIZKhcvdjEvYWxlcnRzL2Fub21hbHkve2lkfRKIAQoQTGlzdEFub21hbHlBbGVydBIpLmJsdWVhcGkuY292ZXIudjEuTGlzdEFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiI4LT5JMCHSIbL3YxL2FsZXJ0cy9hbm9tYWx5L2FsbDpyZWFkMAEShwEKD0dldEFub21hbHlBbGVydBIvLmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlBbGVydERhdGEiH4LT5JMCGRIXL3YxL2FsZXJ0cy9hbm9tYWx5L3tpZH0SfQoSVXBkYXRlQW5vbWFseUFsZXJ0EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiKC0+STAhw6ASoaFy92MS9hbGVydHMvYW5vbWFseS97aWR9EocBCg9SZWdpc3Rlck5ld1VzZXISKC5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlJlZ2lzdGVyTmV3VXNlclJlc3BvbnNlIh+C0+STAhk6ASoiFC92MS9tZW1iZXJzL3JlZ2lzdGVyEogBCg5HZXRVc2VyUHJvZmlsZRInLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlclByb2ZpbGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUHJvZmlsZVJlc3BvbnNlIiOC0+STAh0SGy92MS9tZW1iZXJzL3Byb2ZpbGUve2VtYWlsfRKUAQoRVXBkYXRlVXNlclByb2ZpbGUSKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZSImgtPkkwIgOgEqGhsvdjEvbWVtYmVycy9wcm9maWxlL3tlbWFpbH0SeAoLTGlzdEJ1ZGdldHMSJC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RCdWRnZXRzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuTGlzdEJ1ZGdldHNSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvYnVkZ2V0OnJlYWQwARJtCglHZXRCdWRnZXQSIi5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkdldEJ1ZGdldFJlc3BvbnNlIheC0+STAhESDy92MS9idWRnZXQve2lkfRJ0CgxDcmVhdGVCdWRnZXQSJS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUJ1ZGdldFJlc3BvbnNlIhWC0+STAg86ASoiCi92MS9idWRnZXQSdgoMRGVsZXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVCdWRnZXRSZXNwb25zZSIXgtPkkwIRKg8vdjEvYnVkZ2V0L3tpZH0SeQoMVXBkYXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVCdWRnZXRSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvYnVkZ2V0L3tpZH0S1wEKJ1Jlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZxJALmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBpBLmJsdWVhcGkuY292ZXIudjEuUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL21lbWJlcnMvYXdzL3N1YnNjcmlwdGlvbhKsAQodR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXMSNi5ibHVlYXBpLmNvdmVyLnYxLkdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVxdWVzdBo3LmJsdWVhcGkuY292ZXIudjEuR2V0Q3VzdG9tZXJTdWJzY3JpcHRpb25TdGF0dXNSZXNwb25zZSIagtPkkwIUEhIvdjEvYmlsbGluZy9zdGF0dXMShgEKD0NyZWF0ZVByb2ZpbGluZxIoLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlUHJvZmlsaW5nUmVzcG9uc2UiHoLT5JMCGDoBKiITL3YxL21lbWJlcnMvcHJvZmlsZRKWAQoUQWRkSW5mb3RvTWFya2V0cGxhY2USLS5ibHVlYXBpLmNvdmVyLnYxLkFkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvbWFya2V0cGxhY2UvaW5mbxKcAQoQR2V0UmVwb3J0U3VtbWFyeRIpLmJsdWVhcGkuY292ZXIudjEuR2V0UmVwb3J0U3VtbWFyeVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlcG9ydFN1bW1hcnlSZXNwb25zZSIxgtPkkwIrEikvdjEvcmVwb3J0cy9pbnNpZ2h0L3N1bW1hcnkve2Nvc3RHcm91cElkfRKcAQoTTGlzdFJlY29tbWVuZGF0aW9ucxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiKILT5JMCIhIgL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24wARKfAQoVTGlzdFJlY29tbWVuZGF0aW9uc1YyEi0uYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlIieC0+STAiE6ASoiHC92MS9yZWNvbW1lbmRhdGlvbnMvYWxsOnJlYWQwARKbAQoRR2V0UmVjb21tZW5kYXRpb24SKi5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25SZXNwb25zZSItgtPkkwInEiUvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi97aWR9EpwBChNHZXRSZWNvbW1lbmRhdGlvblYyEiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblYyUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WMlJlc3BvbnNlIiiC0+STAiISIC92MS9yZWNvbW1lbmRhdGlvbnMvZGV0YWlscy97aWR9EpoBChNFeGVjdXRlT3B0aW1pemF0aW9uEiwuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlIiaC0+STAiA6ASoiGy92MS9yZWNvbW1lbmRhdGlvbnMvZXhlY3V0ZRKdAQoSR2V0RXhlY3V0aW9uU3RhdHVzEisuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRFeGVjdXRpb25TdGF0dXNSZXNwb25zZSIqgtPkkwIkEiIvdjEvcmVjb21tZW5kYXRpb25zL2V4ZWN1dGUvc3RhdHVzMAESmQEKDk1hcmtBc0V4ZWN1dGVkEicuYmx1ZWFwaS5jb3Zlci52MS5NYXJrQXNFeGVjdXRlZFJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLk1hcmtBc0V4ZWN1dGVkUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vZXhlY3V0ZWQSuQEKGlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uEjMuYmx1ZWFwaS5jb3Zlci52MS5VbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlVuZG9FeGVjdXRlZFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiMILT5JMCKjoBKiIlL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vdW5kbxKkAQoTT3B0aW1pemF0aW9uSGlzdG9yeRIsLmJsdWVhcGkuY292ZXIudjEuT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLk9wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZSIwgtPkkwIqEigvdjEvcmVjb21tZW5kYXRpb25zL29wdGltaXphdGlvbi9oaXN0b3J5Er8BChpTZXRDb3N0R3JvdXBFdmVudEluZGljYXRvchIzLmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBFdmVudEluZGljYXRvclJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vZXZlbnRJbmRpY2F0b3ISuAEKGlNldENvc3RHcm91cEFub21hbHlPcHRpb25zEjMuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1JlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9hbm9tYWx5EpABChFTZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIiKC0+STAhw6ASoiFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEo0BChFHZXRPcmdGaXNjYWxNb250aBIqLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnRmlzY2FsTW9udGhSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlIh+C0+STAhkSFy92MS9yZXBvcnRzL2Zpc2NhbG1vbnRoEqIBChRUcmFuc2Zlck9yZ2FuaXphdGlvbhItLmJsdWVhcGkuY292ZXIudjEuVHJhbnNmZXJPcmdhbml6YXRpb25SZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5UcmFuc2Zlck9yZ2FuaXphdGlvblJlc3BvbnNlIiuC0+STAiUSIy92MS9vcmdhbml6YXRpb25zL3RyYW5zZmVyL3t0YXJnZXR9EqkBChlVcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJEjIuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBDcmVhdGlvblVJUmVxdWVzdBozLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlIiOC0+STAh06ASoaGC92MS9tZS9jb3N0Z3JvdXBjcmVhdGlvbhJ2Cg1MaXN0VW5pdFR5cGVzEiYuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdFR5cGVzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRUeXBlc1Jlc3BvbnNlIhSC0+STAg4SDC92MS91bml0Y29zdBJ8Cg5DcmVhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0VHlwZVJlc3BvbnNlIheC0+STAhE6ASoiDC92MS91bml0Y29zdBJ1CgtHZXRVbml0VHlwZRIkLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdFR5cGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0VHlwZVJlc3BvbnNlIhmC0+STAhMSES92MS91bml0Y29zdC97aWR9EoEBCg5VcGRhdGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0VHlwZVJlc3BvbnNlIhyC0+STAhY6ASoaES92MS91bml0Y29zdC97aWR9En4KDkRlbGV0ZVVuaXRUeXBlEicuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0VHlwZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRUeXBlUmVzcG9uc2UiGYLT5JMCEyoRL3YxL3VuaXRjb3N0L3tpZH0SdgoKTWVyZ2VVbml0cxIjLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VVbml0c1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlVW5pdHNSZXNwb25zZSIdgtPkkwIXOgEqIhIvdjEvdW5pdGNvc3QvbWVyZ2USkQEKEkxpc3RTdWdnZXN0ZWRVbml0cxIrLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuTGlzdFN1Z2dlc3RlZFVuaXRzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3VuaXRjb3N0L2F1dG9zdWdnZXN0Ep0BChNNZXJnZVN1Z2dlc3RlZFVuaXRzEiwuYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlIimC0+STAiM6ASoiHi92MS91bml0Y29zdC9hdXRvc3VnZ2VzdC9tZXJnZRKqAQoXQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWQSMC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVxdWVzdBoxLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZSIqgtPkkwIkOgEqIh8vdjEvdW5pdGNvc3QvYXV0b3N1Z2dlc3QvY3JlYXRlEpgBChNMaXN0U2hhcmVkUmVzb3VyY2VzEiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuTGlzdFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIiSC0+STAh4SHC92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMSoAEKFENyZWF0ZVNoYXJlZFJlc291cmNlEi4uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzEpkBChFHZXRTaGFyZWRSZXNvdXJjZRIrLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuR2V0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIxIhL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqUBChRVcGRhdGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiLILT5JMCJjoBKhohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EqIBChREZWxldGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiKYLT5JMCIyohL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcy97aWR9EoQBCg9MaXN0VW5pdE1ldHJpY3MSKC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0TWV0cmljc1Jlc3BvbnNlIhyC0+STAhYSFC92MS91bml0Y29zdC9tZXRyaWNzEooBChBDcmVhdGVVbml0TWV0cmljEikuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0TWV0cmljUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlIh+C0+STAhk6ASoiFC92MS91bml0Y29zdC9tZXRyaWNzEoMBCg1HZXRVbml0TWV0cmljEiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRVbml0TWV0cmljUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdE1ldHJpY1Jlc3BvbnNlIiGC0+STAhsSGS92MS91bml0Y29zdC9tZXRyaWNzL3tpZH0SjwEKEFVwZGF0ZVVuaXRNZXRyaWMSKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRNZXRyaWNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0TWV0cmljUmVzcG9uc2UiJILT5JMCHjoBKhoZL3YxL3VuaXRjb3N0L21ldHJpY3Mve2lkfRKMAQoQRGVsZXRlVW5pdE1ldHJpYxIpLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdE1ldHJpY1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRNZXRyaWNSZXNwb25zZSIhgtPkkwIbKhkvdjEvdW5pdGNvc3QvbWV0cmljcy97aWR9ErYBChhDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3MSMS5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1JlcXVlc3QaMi5ibHVlYXBpLmNvdmVyLnYxLkNvbmZpcm1Hb29nbGVTaGVldEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS91bml0Y29zdC9tZXRyaWNzL2dvb2dsZXNoZWV0L2NvbmZpcm0SpAEKElByZXZpZXdHb29nbGVTaGVldBIrLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuUHJldmlld0dvb2dsZVNoZWV0UmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL3VuaXRjb3N0L21ldHJpY3MvZ29vZ2xlc2hlZXQvcHJldmlldxKqAQoVR2V0Q2xvdWR3YXRjaE1ldGFkYXRhEi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZSIwgtPkkwIqEigvdjEvdW5pdGNvc3QvbWV0cmljcy9jbG91ZHdhdGNoL21ldGFkYXRhEoQBCg9WZXJpZnlBUElBY2Nlc3MSKC5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLlZlcmlmeUFQSUFjY2Vzc1Jlc3BvbnNlIhyC0+STAhYSFC92MS9hcGlhY2Nlc3MvdmVyaWZ5EokBChFHZXRBSUNvc3RBbmRVc2FnZRIqLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlIhuC0+STAhU6ASoiEC92MS9haS9jb3N0dXNhZ2USlwEKFUdldENvbnRhaW5lckNvc3RVc2FnZRIrLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL2NvbnRhaW5lcnMvY29zdHVzYWdlEocBChBQb3B1bGF0ZURlbW9EYXRhEikuYmx1ZWFwaS5jb3Zlci52MS5Qb3B1bGF0ZURlbW9EYXRhUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhyC0+STAhY6ASoiES92MS9kZW1vL3BvcHVsYXRlEnsKDVJlc2V0RGVtb0RhdGESJi5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0RGVtb0RhdGFSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5SZXNldERlbW9EYXRhUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL2RlbW8vcmVzZXQSmQEKD0dldERpc2NvdW50UGxhbhIoLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0RGlzY291bnRQbGFuUmVzcG9uc2UiMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2Rpc2NvdW50cGxhbi97b3JnSWR9OnJlYWQSfwoOR2V0Q29zdFVzYWdlVjISJy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXNwb25zZSIYgtPkkwISOgEqIg0vdjEvY29zdHVzYWdlMAESqAEKFUxpc3ROb25wZXJmb3JtaW5nUmF0ZRIuLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3JlcG9ydHMvcmF0ZS9ub25wZXJmb3JtaW5nOnJlYWQSqAEKFUxpc3RVbnRhZ2dlZFJlc291cmNlcxIuLmJsdWVhcGkuY292ZXIudjEuTGlzdFVudGFnZ2VkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuTGlzdFVudGFnZ2VkUmVzb3VyY2VzUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3JlcG9ydHMvcmVzb3VyY2VzL3VudGFnZ2VkOnJlYWQSfwoNTGlzdEZvcmVjYXN0cxImLmJsdWVhcGkuY292ZXIudjEuTGlzdEZvcmVjYXN0c1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RGb3JlY2FzdHNSZXNwb25zZSIdgtPkkwIXOgEqIhIvdjEvZm9yZWNhc3RzOnJlYWQSiQEKEkNyZWF0ZUNvc3RGb3JlY2FzdBIrLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2UiGILT5JMCEjoBKiINL3YxL2ZvcmVjYXN0cxKCAQoPR2V0Q29zdEZvcmVjYXN0EiguYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0Rm9yZWNhc3RSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0Rm9yZWNhc3RSZXNwb25zZSIagtPkkwIUEhIvdjEvZm9yZWNhc3RzL3tpZH0SjgEKElVwZGF0ZUNvc3RGb3JlY2FzdBIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2UiHYLT5JMCFzoBKhoSL3YxL2ZvcmVjYXN0cy97aWR9EosBChJEZWxldGVDb3N0Rm9yZWNhc3QSKy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIhqC0+STAhQqEi92MS9mb3JlY2FzdHMve2lkfRKbAQoUR2V0Q29zdEZvcmVjYXN0c0RhdGESLS5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RGb3JlY2FzdHNEYXRhUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXNwb25zZSIigtPkkwIcOgEqIhcvdjEvZm9yZWNhc3RzL2RhdGE6cmVhZDABEo8BChNHZXRSZWNvbW1lbmRhdGlvblYzEiwuYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblYzUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlIhuC0+STAhUSEy92MS9yZWNvbW1lbmRhdGlvbnMSnAEKFUxpc3RSZWNvbW1lbmRhdGlvbnNWMxIuLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uc1YzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuUmVjb21tZW5kYXRpb25TdW1tYXJ5IiiC0+STAiI6ASoiHS92MS9yZWNvbW1lbmRhdGlvbnMvc3VtbWFyaWVzMAESpQEKF0V4ZWN1dGVSZWNvbW1lbmRhdGlvblYzEjAuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlUmVjb21tZW5kYXRpb25WM1JlcXVlc3QaMS5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVSZWNvbW1lbmRhdGlvblYzUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL3JlY29tbWVuZGF0aW9uL2V4ZWN1dGUSdgoLSW52aXRlVXNlcnMSJC5ibHVlYXBpLmNvdmVyLnYxLkludml0ZVVzZXJzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuSW52aXRlVXNlcnNSZXNwb25zZSIagtPkkwIUOgEqIg8vdjEvdXNlci9pbnZpdGUSbgoKRGVsZXRlVXNlchIjLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVXNlclJlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVzZXJSZXNwb25zZSIVgtPkkwIPKg0vdjEvdXNlci97aWR9EoIBCg5VcGRhdGVVc2VyUm9sZRInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclJvbGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyUm9sZVJlc3BvbnNlIh2C0+STAhc6ASoaEi92MS91c2VyL3t1c2VyX2lkfRJnCglMaXN0VXNlcnMSIi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVc2Vyc1JlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVc2Vyc1Jlc3BvbnNlIhGC0+STAgsSCS92MS91c2VycxKAAQoMUmVpbnZpdGVVc2VyEiUuYmx1ZWFwaS5jb3Zlci52MS5SZWludml0ZVVzZXJSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5SZWludml0ZVVzZXJSZXNwb25zZSIhgtPkkwIbOgEqIhYvdjEvdXNlci97aWR9L3JlaW52aXRlGpcBkkGTARJCKEJFVEEpIENvdmVyIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2NvdmVyGk0KElNlcnZpY2UgZGVmaW5pdGlvbhI3aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2NvdmVyL0JLChdjbG91ZC5hbHBoYXVzLmFwaS5jb3ZlckIKQ292ZXJQcm90b1okZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2NvdmVyYgZwcm90bzM", [optimizationrecommendation_pb_1.file_api_cover_optimizationrecommendation, recommendation_pb_1.file_api_cover_recommendation_recommendation, attribute_pb_1.file_api_cover_attribute, user_pb_1.file_api_cover_user, view_pb_1.file_api_cover_view, unitcost_pb_1.file_api_cover_unitcost, costgroup_pb_1.file_api_cover_costgroup, accountaccess_pb_1.file_api_cover_accountaccess, costforecast_pb_1.file_api_cover_costforecast, discountplan_pb_1.file_api_cover_discountplan, discountrecommendation_pb_1.file_api_cover_discountrecommendation, rightsizingrecommendation_pb_1.file_api_cover_rightsizingrecommendation, alert_pb_1.file_api_cover_alert, budget_pb_1.file_api_cover_budget, insightreport_pb_1.file_api_cover_insightreport, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
39
+ exports.file_cover_v1_cover = (0, codegenv2_1.fileDesc)("ChRjb3Zlci92MS9jb3Zlci5wcm90bxIQYmx1ZWFwaS5jb3Zlci52MSIcCg5HZXRVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSLcAgoPR2V0VXNlclJlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAkSNQoFcm9sZXMYBCADKAsyJi5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJSZXNwb25zZS5Sb2xlEj8KCmludml0ZWRfYnkYBSABKAsyKy5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJSZXNwb25zZS5JbnZpdGVkQnkSFAoMbGFzdF91cGRhdGVkGAYgASgJEhIKCmNyZWF0ZWRfb24YByABKAkaIAoEUm9sZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJGlwKCUludml0ZWRCeRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjUKBXJvbGVzGAMgAygLMiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUmVzcG9uc2UuUm9sZSIhChNSZWludml0ZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFFJlaW52aXRlVXNlclJlc3BvbnNlIhIKEExpc3RVc2Vyc1JlcXVlc3Qi0gEKEUxpc3RVc2Vyc1Jlc3BvbnNlEj4KBXVzZXJzGAEgAygLMi8uYmx1ZWFwaS5jb3Zlci52MS5MaXN0VXNlcnNSZXNwb25zZS5Vc2VyU3VtbWFyeRp9CgtVc2VyU3VtbWFyeRIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBXJvbGVzGAQgAygJEhEKCWFjdGl2YXRlZBgFIAEoCBIOCgZhdmF0YXIYBiABKAkSEwoLY29sb3JfdGhlbWUYByABKAkiUgoVVXBkYXRlVXNlclJvbGVSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSEAoIcm9sZV9pZHMYAiADKAkSFgoOY29zdF9ncm91cF9pZHMYAyADKAkiGAoWVXBkYXRlVXNlclJvbGVSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiTQoSSW52aXRlVXNlcnNSZXF1ZXN0Eg4KBmVtYWlscxgBIAMoCRIPCgdyb2xlX2lkGAIgASgJEhYKDmNvc3RfZ3JvdXBfaWRzGAMgAygJIhUKE0ludml0ZVVzZXJzUmVzcG9uc2Ui7QEKHkV4ZWN1dGVSZWNvbW1lbmRhdGlvblYzUmVxdWVzdBILCgNpZHMYASADKAkSUQoLZXhlY3V0ZVR5cGUYAiABKA4yPC5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVSZWNvbW1lbmRhdGlvblYzUmVxdWVzdC5FeGVjdXRlVHlwZSJrCgtFeGVjdXRlVHlwZRILCgdERUZBVUxUEAASFAoQTUFSS19BU19FWEVDVVRFRBABEhEKDVVORE9fRVhFQ1VURUQQAhITCg9TVUJNSVRfVEVNUExBVEUQAxIRCg1SRVRSWV9FWEVDVVRFEAQiSgofRXhlY3V0ZVJlY29tbWVuZGF0aW9uVjNSZXNwb25zZRInCgZyZXN1bHQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IsMBChxMaXN0UmVjb21tZW5kYXRpb25zVjNSZXF1ZXN0EhMKC2Nvc3Rncm91cElkGAEgASgJEhAKCHN0YXR1c2VzGAIgAygJEkwKB2ZpbHRlcnMYAyADKAsyOy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvbnNWM1JlcXVlc3QuRmlsdGVyc0VudHJ5Gi4KDEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvUDChVSZWNvbW1lbmRhdGlvblN1bW1hcnkSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkSEgoKdGFyZ2V0TmFtZRgSIAEoCRIQCghjYXRlZ29yeRgEIAEoCRIMCgR0eXBlGAUgASgJEg4KBnZlbmRvchgNIAEoCRIOCgZzb3VyY2UYEyABKAkSDAoEY29kZRgOIAEoCRIUCgdzZXJ2aWNlGA8gASgJSACIAQESEwoGcmVnaW9uGBAgASgJSAGIAQESFwoKcmVzb3VyY2VJZBgRIAEoCUgCiAEBEh8KF2VzdGltYXRlZE1vbnRobHlTYXZpbmdzGAYgASgBEiIKGmVzdGltYXRlZE1vbnRobHlCZWZvcmVDb3N0GAcgASgBEiEKGWVzdGltYXRlZE1vbnRobHlBZnRlckNvc3QYCCABKAESEQoEcmlzaxgJIAEoCUgDiAEBEhMKBmVmZm9ydBgKIAEoCUgEiAEBEg4KBnN0YXR1cxgLIAEoCRIyChFhZGRpdGlvbmFsRGV0YWlscxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCCgoIX3NlcnZpY2VCCQoHX3JlZ2lvbkINCgtfcmVzb3VyY2VJZEIHCgVfcmlza0IJCgdfZWZmb3J0IikKGkdldFJlY29tbWVuZGF0aW9uVjNSZXF1ZXN0EgsKA2lkcxgBIAMoCSKSBQobR2V0UmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlElsKD3JlY29tbWVuZGF0aW9ucxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlLlJlY29tbWVuZGF0aW9uRGV0YWlsGpUEChRSZWNvbW1lbmRhdGlvbkRldGFpbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAkgASgJEg4KBnZlbmRvchgCIAEoCRIOCgZzb3VyY2UYAyABKAkSDAoEY29kZRgEIAEoCRIUCgdzZXJ2aWNlGAUgASgJSACIAQESDgoGdGFyZ2V0GAcgASgJEhIKCnRhcmdldE5hbWUYCCABKAkSFAoMZGF0ZURldGVjdGVkGAYgASgJEhMKBnJlZ2lvbhgKIAEoCUgBiAEBEiIKGmVzdGltYXRlZE1vbnRobHlCZWZvcmVDb3N0GAsgASgBEiEKGWVzdGltYXRlZE1vbnRobHlBZnRlckNvc3QYDCABKAESHwoXZXN0aW1hdGVkTW9udGhseVNhdmluZ3MYDSABKAESFwoKcmVzb3VyY2VJZBgOIAEoCUgCiAEBEhAKCGNhdGVnb3J5GA8gASgJEgwKBHR5cGUYECABKAkSEwoLbGFzdFVwZGF0ZWQYESABKAkSDgoGc3RhdHVzGBIgASgJEhEKBHJpc2sYEyABKAlIA4gBARITCgZlZmZvcnQYFCABKAlIBIgBARIoCgdkZXRhaWxzGBUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIKCghfc2VydmljZUIJCgdfcmVnaW9uQg0KC19yZXNvdXJjZUlkQgcKBV9yaXNrQgkKB19lZmZvcnQi6gEKG0dldENvc3RGb3JlY2FzdHNEYXRhUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCRJOCgtncmFudWxhcml0eRgEIAEoDjI5LmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXF1ZXN0LkdyYW51bGFyaXR5IkIKC0dyYW51bGFyaXR5EhsKF0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASCQoFREFJTFkQARILCgdNT05USExZEAIiagocR2V0Q29zdEZvcmVjYXN0c0RhdGFSZXNwb25zZRIMCgRkYXRlGAEgASgJEhQKDGZvcmVjYXN0Q29zdBgCIAEoARISCgp1cHBlckJvdW5kGAMgASgBEhIKCmxvd2VyQm91bmQYBCABKAEiFgoUTGlzdEZvcmVjYXN0c1JlcXVlc3QiXAoVTGlzdEZvcmVjYXN0c1Jlc3BvbnNlEkMKE2Nvc3RGb3JlY2FzdERldGFpbHMYASADKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0Rm9yZWNhc3REZXRhaWxzIvMBChlDcmVhdGVDb3N0Rm9yZWNhc3RSZXF1ZXN0EhQKDGZvcmVjYXN0TmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIvCgljb3N0R3JvdXAYAyABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXASGwoTcGFzdEFjdHVhbENvc3RSYW5nZRgEIAEoAxIZChFsb29rRm9yd2FyZFBlcmlvZBgFIAEoAxJCChNleHRlcm5hbEFkanVzdG1lbnRzGAYgAygLMiUuYmx1ZWFwaS5hcGkuY292ZXIuRXh0ZXJuYWxBZGp1c3RtZW50IoACChpDcmVhdGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudCIkChZHZXRDb3N0Rm9yZWNhc3RSZXF1ZXN0EgoKAmlkGAEgASgJIr8CChdHZXRDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudBIRCgljcmVhdGVkQnkYCCABKAkSFAoMY3JlYXRpb25EYXRlGAkgASgJEhcKD2xhc3RVcGRhdGVkRGF0ZRgKIAEoCSL/AQoZVXBkYXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxmb3JlY2FzdE5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLwoJY29zdEdyb3VwGAQgASgLMhwuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwEhsKE3Bhc3RBY3R1YWxDb3N0UmFuZ2UYBSABKAMSGQoRbG9va0ZvcndhcmRQZXJpb2QYBiABKAMSQgoTZXh0ZXJuYWxBZGp1c3RtZW50cxgHIAMoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkV4dGVybmFsQWRqdXN0bWVudCLCAgoaVXBkYXRlQ29zdEZvcmVjYXN0UmVzcG9uc2USCgoCaWQYASABKAkSFAoMZm9yZWNhc3ROYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEi8KCWNvc3RHcm91cBgEIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cBIbChNwYXN0QWN0dWFsQ29zdFJhbmdlGAUgASgDEhkKEWxvb2tGb3J3YXJkUGVyaW9kGAYgASgDEkIKE2V4dGVybmFsQWRqdXN0bWVudHMYByADKAsyJS5ibHVlYXBpLmFwaS5jb3Zlci5FeHRlcm5hbEFkanVzdG1lbnQSEQoJY3JlYXRlZEJ5GAggASgJEhQKDGNyZWF0aW9uRGF0ZRgJIAEoCRIXCg9sYXN0VXBkYXRlZERhdGUYCiABKAkiJwoZRGVsZXRlQ29zdEZvcmVjYXN0UmVxdWVzdBIKCgJpZBgBIAEoCSIoChpEZWxldGVDb3N0Rm9yZWNhc3RSZXNwb25zZRIKCgJpZBgBIAEoCSJvChZHZXRDb3N0VXNhZ2VWMlJlc3BvbnNlEg0KBXZhbHVlGAEgASgBEgwKBGRhdGUYAiABKAkSDgoGdmVuZG9yGAMgASgJEigKB2RldGFpbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ir8EChVHZXRDb3N0VXNhZ2VWMlJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkSSAoLZ3JhbnVsYXJpdHkYBCABKA4yMy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgFIAMoCRJCCghjYXRlZ29yeRgGIAEoDjIwLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlVjJSZXF1ZXN0LkNhdGVnb3J5EhAKCGN1cnJlbmN5GAcgASgJEjoKCmF3c09wdGlvbnMYCCABKAsyJi5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBBd3NPcHRpb25zEkQKD2F6dXJlY3NwT3B0aW9ucxgJIAEoCzIrLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cEF6dXJlQ3NwT3B0aW9ucxI6CgpnY3BPcHRpb25zGAogASgLMiYuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwR2NwT3B0aW9ucyJCCgtHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIjkKCENhdGVnb3J5EhgKFENhdGVnb3J5X1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAIiGQoXUG9wdWxhdGVEZW1vRGF0YVJlcXVlc3QiGgoYUG9wdWxhdGVEZW1vRGF0YVJlc3BvbnNlIhYKFFJlc2V0RGVtb0RhdGFSZXF1ZXN0IhcKFVJlc2V0RGVtb0RhdGFSZXNwb25zZSLfBgoZQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSSgoKbWV0cmljVHlwZRgDIAEoDjI2LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVxdWVzdC5NZXRyaWNUeXBlEhEKCXN0YXJ0VGltZRgEIAEoCRIPCgdlbmRUaW1lGAUgASgJElAKC2dyYW51bGFyaXR5GAYgASgOMjsuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlRpbWVHcmFudWxhcml0eRIQCghncm91cEJ5cxgHIAMoCRJLCgdmaWx0ZXJzGAggAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LkZpbHRlckNyaXRlcmlhEkwKC3NlcnZpY2VUeXBlGAkgASgOMjcuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXF1ZXN0LlNlcnZpY2VUeXBlGs8BCg5GaWx0ZXJDcml0ZXJpYRILCgNrZXkYASABKAkSWwoIb3BlcmF0b3IYAiABKA4ySS5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QuRmlsdGVyQ3JpdGVyaWEuRmlsdGVyT3BlcmF0b3ISDQoFdmFsdWUYAyABKAkiRAoORmlsdGVyT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIJCgVFUVVBTBABEg0KCU5PVF9FUVVBTBACIkYKD1RpbWVHcmFudWxhcml0eRIbChdHUkFOVUxBUklUWV9VTlNQRUNJRklFRBAAEgkKBURBSUxZEAESCwoHTU9OVEhMWRACIloKCk1ldHJpY1R5cGUSFgoSTUVUUklDX1VOU1BFQ0lGSUVEEAASCAoEQ09TVBABEgkKBVVTQUdFEAISDgoKRUZGSUNJRU5DWRADEg8KC1VOVVNFRF9DT1NUEAQiOAoLU2VydmljZVR5cGUSFwoTU0VSVklDRV9VTlNQRUNJRklFRBAAEgcKA0VDUxABEgcKA0VLUxACItcKChpDb250YWluZXJDb3N0VXNhZ2VSZXNwb25zZRJLCgdyZXN1bHRzGAEgAygLMjouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0ElMKCmhpZ2hsaWdodHMYAiABKAsyPy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLlJlc291cmNlSGlnaGxpZ2h0cxIRCgl0b3RhbENvc3QYAyABKAESFQoNYXZnRWZmaWNpZW5jeRgEIAEoARpECgpDb3N0TWV0cmljEg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRIUCgx1bnVzZWRBbW91bnQYAyABKAEakAEKC1VzYWdlTWV0cmljEgwKBHVuaXQYASABKAkSFgoOcmVzZXJ2ZWRBbW91bnQYAiABKAESFAoMYWN0dWFsQW1vdW50GAMgASgBEhIKCmVmZmljaWVuY3kYBCABKAESFgoOY3B1VXRpbGl6YXRpb24YBSABKAESGQoRbWVtb3J5VXRpbGl6YXRpb24YBiABKAEawQEKD01ldHJpY0RhdGFQb2ludBIMCgRkYXRlGAEgASgJEkcKBGNvc3QYAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlLkNvc3RNZXRyaWNIABJJCgV1c2FnZRgDIAEoCzI4LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuVXNhZ2VNZXRyaWNIAEIMCgptZXRyaWNEYXRhGkwKEVJlc291cmNlSGlnaGxpZ2h0EhIKCnJlc291cmNlSWQYASABKAkSFAoMcmVzb3VyY2VOYW1lGAIgASgJEg0KBXZhbHVlGAMgASgBGoQDChJSZXNvdXJjZUhpZ2hsaWdodHMSWgoSaGlnaGVzdENsdXN0ZXJDb3N0GAEgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBJZChFoaWdoZXN0VW51c2VkQ29zdBgCIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWwoTaGlnaGVzdFdvcmtsb2FkQ29zdBgDIAEoCzI+LmJsdWVhcGkuY292ZXIudjEuQ29udGFpbmVyQ29zdFVzYWdlUmVzcG9uc2UuUmVzb3VyY2VIaWdobGlnaHQSWgoSaGlnaGVzdENvbXB1dGVDb3N0GAQgASgLMj4uYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5SZXNvdXJjZUhpZ2hsaWdodBr6AQoNR3JvdXBlZFJlc3VsdBJeCgphdHRyaWJ1dGVzGAEgAygLMkouYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5Hcm91cGVkUmVzdWx0LkF0dHJpYnV0ZXNFbnRyeRJWChBtZXRyaWNEYXRhUG9pbnRzGAIgAygLMjwuYmx1ZWFwaS5jb3Zlci52MS5Db250YWluZXJDb3N0VXNhZ2VSZXNwb25zZS5NZXRyaWNEYXRhUG9pbnQaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEijwQKGEdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJc3RhcnRUaW1lGAMgASgJEg8KB2VuZFRpbWUYBCABKAkSSwoLZ3JhbnVsYXJpdHkYBSABKA4yNi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdC5HcmFudWxhcml0eRIQCghncm91cEJ5cxgGIAMoCRJCCgdmaWx0ZXJzGAcgAygLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyGsIBCgZGaWx0ZXISCwoDa2V5GAEgASgJEkwKCG9wZXJhdG9yGAIgASgOMjouYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlcXVlc3QuRmlsdGVyLk9wZXJhdG9yEg4KBnZhbHVlcxgDIAMoCRINCgV2YWx1ZRgEIAEoCSI+CghPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEgkKBUVRVUFMEAESDQoJTk9UX0VRVUFMEAIiQgoLR3JhbnVsYXJpdHkSGwoXR1JBTlVMQVJJVFlfVU5TUEVDSUZJRUQQABIJCgVEQUlMWRABEgsKB01PTlRITFkQAiKnBAoZR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZRJDCgdyZXN1bHRzGAEgAygLMjIuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlJlc3VsdBooCgRDb3N0Eg4KBmFtb3VudBgBIAEoARIQCghjdXJyZW5jeRgCIAEoCRolCgVVc2FnZRIMCgR1bml0GAEgASgJEg4KBmFtb3VudBgCIAEoARqYAQoGTWV0cmljEgwKBGRhdGUYASABKAkSPgoEY29zdBgCIAEoCzIwLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5Db3N0EkAKBXVzYWdlGAMgASgLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBSUNvc3RBbmRVc2FnZVJlc3BvbnNlLlVzYWdlGtgBCgZSZXN1bHQSVgoKYXR0cmlidXRlcxgBIAMoCzJCLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZS5SZXN1bHQuQXR0cmlidXRlc0VudHJ5EkMKB21ldHJpY3MYAiADKAsyMi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVzcG9uc2UuTWV0cmljGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIhsKGUdldEV4ZWN1dGlvblN0YXR1c1JlcXVlc3QiVwoaR2V0RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2USGAoQcmVjb21tZW5kYXRpb25JZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSI4ChZWZXJpZnlBUElBY2Nlc3NSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIOCgZ0YXJnZXQYAiABKAkiKQoXVmVyaWZ5QVBJQWNjZXNzUmVzcG9uc2USDgoGcmVzdWx0GAEgASgIImUKGkdldFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCSJhChtHZXRSZWNvbW1lbmRhdGlvblYyUmVzcG9uc2USQgoEZGF0YRgBIAEoCzI0LmJsdWVhcGkuYXBpLmNvdmVyLnJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uRGF0YSJRChFPbmJvYXJkT3JnUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg0KBW9yZ0lkGAQgASgJIkMKEk9uYm9hcmRPcmdSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIk0KE0ludml0ZU1lbWJlclJlcXVlc3QSDQoFZW1haWwYASADKAkSEAoIaXNSZXNlbmQYAiABKAgSFQoNaW52aXRlQXNBZG1pbhgDIAEoCCIlChRJbnZpdGVNZW1iZXJSZXNwb25zZRINCgVlbWFpbBgBIAMoCSKkAQoTQWN0aXZhdGVVc2VyUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSGAoQcHJldmlvdXNQYXNzd29yZBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmxvY2FsZRgFIAEoCRINCgVlbWFpbBgGIAEoCRIPCgdpc0F1dGgwGAcgASgIEhMKC2F1dGgwVXNlcklkGAggASgJIkUKFEFjdGl2YXRlVXNlclJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiWAoTQ3JlYXRlTWVtYmVyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEhIKCmNvc3Rncm91cHMYBCADKAkiRQoUQ3JlYXRlTWVtYmVyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSITChFHZXRNZW1iZXJzUmVxdWVzdCJDChJHZXRNZW1iZXJzUmVzcG9uc2USLQoIdXNlckRhdGEYASADKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIpChdHZXRNZW1iZXJEZXRhaWxzUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiSQoYR2V0TWVtYmVyRGV0YWlsc1Jlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZR2V0TWVtYmVyQ29zdEdyb3VwUmVxdWVzdBIOCgZ1c2VySWQYASABKAkiVAoaR2V0TWVtYmVyQ29zdEdyb3VwUmVzcG9uc2USNgoKY29zdEdyb3VwcxgBIAMoCzIiLmJsdWVhcGkuYXBpLmNvdmVyLk1lbWJlckNvc3RHcm91cCJACh1VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVxdWVzdBIOCgZ1c2VySWQYASABKAkSDwoHaXNBZG1pbhgCIAEoCCJPCh5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIXChVHZXRVc2VyRGV0YWlsc1JlcXVlc3QiRwoWR2V0VXNlckRldGFpbHNSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIikKF1VwZGF0ZVVzZXJBdmF0YXJSZXF1ZXN0Eg4KBmF2YXRhchgBIAEoCSJJChhVcGRhdGVVc2VyQXZhdGFyUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChVVcGRhdGVVc2VySWNvblJlcXVlc3QSDAoEaWNvbhgBIAEoCSJHChZVcGRhdGVVc2VySWNvblJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiMQobVXBkYXRlVXNlckNvbG9yVGhlbWVSZXF1ZXN0EhIKCmNvbG9yVGhlbWUYASABKAkiTQocVXBkYXRlVXNlckNvbG9yVGhlbWVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIiUKFVVwZGF0ZVVzZXJOYW1lUmVxdWVzdBIMCgRuYW1lGAEgASgJIkcKFlVwZGF0ZVVzZXJOYW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSInChZVcGRhdGVVc2VyRW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkgKF1VwZGF0ZVVzZXJFbWFpbFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKwoZVXBkYXRlVXNlck1haW5WaWV3UmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiSwoaVXBkYXRlVXNlck1haW5WaWV3UmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJJChhSZXNldFVzZXJQYXNzd29yZFJlcXVlc3QSGAoQcHJldmlvdXNQYXNzd29yZBgBIAEoCRITCgtuZXdQYXNzd29yZBgCIAEoCSJKChlSZXNldFVzZXJQYXNzd29yZFJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiKQoXVXBkYXRlVXNlckxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJIkkKGFVwZGF0ZVVzZXJMb2NhbGVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIi0KGVVwZGF0ZVVzZXJBcHBUaGVtZVJlcXVlc3QSEAoIYXBwVGhlbWUYASABKAkiSwoaVXBkYXRlVXNlckFwcFRoZW1lUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSJDChlVcGRhdGVVc2VyVGltZXpvbmVSZXF1ZXN0EhAKCHRpbWVab25lGAEgASgJEhQKDGF1dG9UaW1lWm9uZRgCIAEoCCJLChpVcGRhdGVVc2VyVGltZXpvbmVSZXNwb25zZRItCgh1c2VyRGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVzZXJEYXRhIjEKG1VwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVxdWVzdBISCgphdHRyaWJ1dGVzGAEgAygJIk0KHFVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVzcG9uc2USLQoIdXNlckRhdGEYASABKAsyGy5ibHVlYXBpLmFwaS5jb3Zlci5Vc2VyRGF0YSIlChNEZWxldGVNZW1iZXJSZXF1ZXN0Eg4KBnVzZXJJZBgBIAEoCSImChREZWxldGVNZW1iZXJSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiJgoUUmVzZXRQYXNzd29yZFJlcXVlc3QSDgoGdXNlcklkGAEgASgJIicKFVJlc2V0UGFzc3dvcmRSZXNwb25zZRIOCgZ1c2VySWQYASABKAkiuwEKEUNyZWF0ZVZpZXdSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEQoJaXNQcml2YXRlGAMgASgIEhIKCmlzRWRpdGFibGUYBCABKAgSDAoEaWNvbhgFIAEoCRISCgpyZXBvcnRUeXBlGAYgASgJEhIKCmNvbG9yVGhlbWUYByABKAkSFAoMcmVwb3J0UGVyaW9kGAggASgJEhAKCGN1cnJlbmN5GAkgASgJIkMKEkNyZWF0ZVZpZXdSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIhEKD0dldFZpZXdzUmVxdWVzdCJBChBHZXRWaWV3c1Jlc3BvbnNlEi0KCHZpZXdMaXN0GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0xpc3QiJwoVR2V0Q3VycmVudFZpZXdSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSJHChZHZXRDdXJyZW50Vmlld1Jlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiGQoXR2V0RmF2b3JpdGVWaWV3c1JlcXVlc3QiSwoYR2V0RmF2b3JpdGVWaWV3c1Jlc3BvbnNlEi8KCWZhdm9yaXRlcxgBIAMoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkZhdm9yaXRlcyIkChJQdWJsaXNoVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiIKE1B1Ymxpc2hWaWV3UmVzcG9uc2USCwoDdXJsGAEgASgJIiQKEkFkZEZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkiJQoTQWRkRmF2b3JpdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiJwoVUmVtb3ZlRmF2b3JpdGVSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCSIoChZSZW1vdmVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSKPAQoRVXBkYXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRIRCglpc1ByaXZhdGUYBSABKAgSEgoKaXNFZGl0YWJsZRgGIAEoCBISCgpjb2xvclRoZW1lGAcgASgJIiQKElVwZGF0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiWAoXVXBkYXRlVmlld0xheW91dFJlcXVlc3QSDgoGdmlld0lkGAEgASgJEi0KBmxheW91dBgCIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLldpZGdldERhdGEiSQoYVXBkYXRlVmlld0xheW91dFJlc3BvbnNlEi0KBmxheW91dBgBIAMoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdMYXlvdXQimgEKF1VwZGF0ZVZpZXdXaWRnZXRSZXF1ZXN0Eg4KBnZpZXdJZBgBIAEoCRIQCgh3aWRnZXRJZBgCIAEoCRIoCgdvcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCghyZXF1ZXN0cxgEIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkxheW91dFJlcXVlc3RzIl8KGFVwZGF0ZVZpZXdXaWRnZXRSZXNwb25zZRIQCgh3aWRnZXRJZBgBIAEoCRIxCgp3aWRnZXREYXRhGAIgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuV2lkZ2V0RGF0YSJBChtVcGRhdGVWaWV3Q29sb3JUaGVtZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCmNvbG9yVGhlbWUYAiABKAkiTQocVXBkYXRlVmlld0NvbG9yVGhlbWVSZXNwb25zZRItCgh2aWV3RGF0YRgBIAEoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlZpZXdEYXRhIj0KGVVwZGF0ZVZpZXdDdXJyZW5jeVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhAKCGN1cnJlbmN5GAIgASgJIksKGlVwZGF0ZVZpZXdDdXJyZW5jeVJlc3BvbnNlEi0KCHZpZXdEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVmlld0RhdGEiNQobU2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0EhYKDnVwZGF0ZUN1cnJlbmN5GAEgASgDIjYKHFNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USFgoOdXBkYXRlQ3VycmVuY3kYASABKAMiHQobR2V0T3JnVXBkYXRlQ3VycmVuY3lSZXF1ZXN0IlkKHEdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2USDQoFb3JnSWQYASABKAkSFgoOdXBkYXRlQ3VycmVuY3kYAiABKAMSEgoKbGFzdFVwZGF0ZRgDIAEoCSI+ChhMaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QSEQoJc3RhcnREYXRlGAEgASgJEg8KB2VuZERhdGUYAiABKAkiYgoZTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZRINCgVvcmdJZBgBIAEoCRI2Cg1leGNoYW5nZVJhdGVzGAIgAygLMh8uYmx1ZWFwaS5jb3Zlci52MS5FeGNoYW5nZVJhdGVzIkIKDUV4Y2hhbmdlUmF0ZXMSDQoFbW9udGgYASABKAkSFAoMZXhjaGFuZ2VSYXRlGAIgASgCEgwKBGRhdGUYAyABKAkiIwoRRGVsZXRlVmlld1JlcXVlc3QSDgoGdmlld0lkGAEgASgJIiQKEkRlbGV0ZVZpZXdSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiZQoaVXBkYXRlU2lkZU1lbnVTdGF0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEjcKDXNpZGVtZW51c3RhdGUYAiADKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5TaWRlTWVudVN0YXRlIi0KG1VwZGF0ZVNpZGVNZW51U3RhdGVSZXNwb25zZRIOCgZ2aWV3SWQYASABKAkiQAoaQWRkU2lkZU1lbnVGYXZvcml0ZVJlcXVlc3QSDgoGdmlld0lkGAEgASgJEhIKCm1lbnVJdGVtSWQYAiABKAkiLQobQWRkU2lkZU1lbnVGYXZvcml0ZVJlc3BvbnNlEg4KBnZpZXdJZBgBIAEoCSJDCh1SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVxdWVzdBIOCgZ2aWV3SWQYASABKAkSEgoKbWVudUl0ZW1JZBgCIAEoCSIwCh5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2USDgoGdmlld0lkGAEgASgJItMBChZDcmVhdGVDb3N0R3JvdXBSZXF1ZXN0EgwKBG5hbWUYASABKAkSLgoEdHlwZRgHIAEoDjIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cFR5cGUSEwoLZGVzY3JpcHRpb24YAiABKAkSDQoFaW1hZ2UYAyABKAkSDAoEaWNvbhgEIAEoCRISCgpjb2xvclRoZW1lGAUgASgJEjUKDGNvbWJpbmF0aW9ucxgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJSChdDcmVhdGVDb3N0R3JvdXBSZXNwb25zZRI3Cg1jb3N0R3JvdXBEYXRhGAEgASgLMiAuYmx1ZWFwaS5hcGkuY292ZXIuQ29zdEdyb3VwRGF0YSIWChRHZXRDb3N0R3JvdXBzUmVxdWVzdCJQChVHZXRDb3N0R3JvdXBzUmVzcG9uc2USNwoNY29zdEdyb3VwRGF0YRgBIAMoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLkNvc3RHcm91cERhdGEiMQoaR2V0Q29zdEdyb3VwRGV0YWlsc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiVgobR2V0Q29zdEdyb3VwRGV0YWlsc1Jlc3BvbnNlEjcKDWNvc3RHcm91cERhdGEYASABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5Db3N0R3JvdXBEYXRhIj8KGlVwZGF0ZUNvc3RHcm91cE5hbWVSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEgwKBG5hbWUYAiABKAkiKwobVXBkYXRlQ29zdEdyb3VwTmFtZVJlc3BvbnNlEgwKBG5hbWUYASABKAkiTQohVXBkYXRlQ29zdEdyb3VwRGVzY3JpcHRpb25SZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJIjkKIlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVzcG9uc2USEwoLZGVzY3JpcHRpb24YASABKAkiQQobVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg0KBWltYWdlGAIgASgJIi0KHFVwZGF0ZUNvc3RHcm91cEltYWdlUmVzcG9uc2USDQoFaW1hZ2UYASABKAkiPwoaVXBkYXRlQ29zdEdyb3VwSWNvblJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSDAoEaWNvbhgCIAEoCSIrChtVcGRhdGVDb3N0R3JvdXBJY29uUmVzcG9uc2USDAoEaWNvbhgBIAEoCSJLCiBVcGRhdGVDb3N0R3JvdXBDb2xvclRoZW1lUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRISCgpjb2xvclRoZW1lGAIgASgJIjcKIVVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXNwb25zZRISCgpjb2xvclRoZW1lGAEgASgJInAKIlVwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSNQoMY29tYmluYXRpb25zGAIgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIlwKI1VwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlEjUKDGNvbWJpbmF0aW9ucxgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucyJDChxBc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEg4KBnVzZXJJZBgCIAEoCSJECh1Bc3NpZ25Db3N0R3JvdXBNZW1iZXJSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiQwocUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIOCgZ1c2VySWQYAiABKAkiRAodUmVtb3ZlQ29zdEdyb3VwTWVtYmVyUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSDgoGdXNlcklkGAIgASgJIi0KFkRlbGV0ZUNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiLgoXRGVsZXRlQ29zdEdyb3VwUmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkiMgoiR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsUmVxdWVzdBIMCgR0eXBlGAEgASgJIqABCiNHZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJEhcKD3RlbXBsYXRlVmVyc2lvbhgGIAEoCSIaChhMaXN0QWNjb3VudEFjY2Vzc1JlcXVlc3QiKQoXR2V0QWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJItoCCg1BY2NvdW50QWNjZXNzEg4KBnRhcmdldBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRITCgthY2NvdW50VHlwZRgDIAEoCRIPCgdwYXllcklkGAQgASgJEg8KB3JvbGVBcm4YBSABKAkSEgoKZXh0ZXJuYWxJZBgGIAEoCRIPCgdzdGFja0lkGAcgASgJEhMKC3N0YWNrUmVnaW9uGAggASgJEhMKC3RlbXBsYXRlVXJsGAkgASgJEhIKCmJ1Y2tldE5hbWUYCiABKAkSDgoGcHJlZml4GAsgASgJEhIKCnJlcG9ydE5hbWUYDCABKAkSQQoScmVnaXN0cmF0aW9uU3RhdHVzGA0gASgLMiUuYmx1ZWFwaS5hcGkuY292ZXIuUmVnaXN0cmF0aW9uU3RhdHVzEg4KBnN0YXR1cxgOIAEoCRITCgtsYXN0VXBkYXRlZBgPIAEoCSJDChpDcmVhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSFQoNZnJvbVRlcnJhZm9ybRgCIAEoCCJECiJDcmVhdGVBY2NvdW50QWNjZXNzU3RhY2tzZXRSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZyZWdpb24YAiABKAkiLAoaVXBkYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJIjwKGkRlbGV0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiLwobRGVsZXRlQWNjb3VudEFjY2Vzc1Jlc3BvbnNlEhAKCHRhcmdldElkGAEgASgJIlAKFlJlZ2lzdGVyQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRITCgthY2NvdW50TmFtZRgDIAEoCSLmAQoRTGlzdEFzc2V0c1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEgoKc3RhcnRNb250aBgCIAEoCRIQCghlbmRNb250aBgDIAEoCRIaChJ3aXRoUmVjb21tZW5kYXRpb24YBCABKAgSNwoKYXdzT3B0aW9ucxgFIAMoCzIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c0ZpbHRlcnMSQQoUYXdzUHJvcGVydGllc09wdGlvbnMYBiADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzIo8BChFMaXN0QXNzZXRzRmlsdGVycxJHCgphbmRGaWx0ZXJzGAEgAygLMjMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEivQEKCFJlc291cmNlEgwKBGRhdGUYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDwoHc2VydmljZRgFIAEoCRISCgpyZXNvdXJjZUlkGAYgASgJEhQKDHJlc291cmNlVHlwZRgHIAEoCRIMCgRjb3N0GAggASgBEhIKCnByb3BlcnRpZXMYCSABKAkSFgoOcmVjb21tZW5kYXRpb24YCiABKAki5gEKF0dldEFzc2V0c1N1bW1hcnlSZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJEhIKCnN0YXJ0TW9udGgYAiABKAkSEAoIZW5kTW9udGgYAyABKAkSFAoMY29tYmluZURhdGVzGAQgASgIEjcKCmF3c09wdGlvbnMYBSADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBc3NldHNGaWx0ZXJzEkEKFGF3c1Byb3BlcnRpZXNPcHRpb25zGAYgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QXNzZXRzRmlsdGVycyJrChhHZXRBc3NldHNTdW1tYXJ5UmVzcG9uc2USMAoHc3VtbWFyeRgBIAMoCzIfLmJsdWVhcGkuY292ZXIudjEuQXNzZXRzU3VtbWFyeRIdChVyZWNvbW1lbmRhdGlvblN1bW1hcnkYAiABKAkiWAoNQXNzZXRzU3VtbWFyeRIMCgRkYXRlGAEgASgJEg4KBnZlbmRvchgCIAEoCRIWCg50b3RhbFJlc291cmNlcxgDIAEoAxIRCgl0b3RhbENvc3QYBCABKAEiOgojUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1JlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkiaQokUmVzb2x2ZUNvc3RHcm91cENvbWJpbmF0aW9uc1Jlc3BvbnNlEhMKC2Nvc3RHcm91cElkGAEgASgJEiwKCGFjY291bnRzGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuQWNjb3VudCLHBAoTR2V0Q29zdFVzYWdlUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydFRpbWUYAiABKAkSDwoHZW5kVGltZRgDIAEoCRIUCgxncm91cEJ5TW9udGgYBCABKAgSDQoFbGltaXQYBSABKAMSEAoIY2F0ZWdvcnkYBiABKAkSDwoHZ3JvdXBCeRgHIAEoCRIXCg9pbmNsdWRlWmVyb0Nvc3QYCCABKAgSQwoKYXdzT3B0aW9ucxgJIAEoCzIvLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEF3c09wdGlvbnMSRwoMYXp1cmVPcHRpb25zGAogASgLMjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0QXp1cmVPcHRpb25zEkMKCmdjcE9wdGlvbnMYCyABKAsyLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVJlcXVlc3RHY3BPcHRpb25zEk0KD2F6dXJlY3NwT3B0aW9ucxgMIAEoCzI0LmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlQ3NwT3B0aW9ucxJJCg1jdXN0b21PcHRpb25zGA0gASgLMjIuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VSZXF1ZXN0Q3VzdG9tT3B0aW9ucxIXCg9pbmNsdWRlRm9yZWNhc3QYDiABKAgSEAoIY3VycmVuY3kYDyABKAki5wEKHUdldENvc3RVc2FnZVJlcXVlc3RBd3NPcHRpb25zEhYKDmdyb3VwQnlDb2x1bW5zGAEgASgJEhUKDWdyb3VwQWNjb3VudHMYAiABKAgSQQoHZmlsdGVycxgDIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEkQKCnRhZ0ZpbHRlcnMYBCADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxIOCgZ0YWdLZXkYBSABKAki2QEKH0dldENvc3RVc2FnZVJlcXVlc3RBenVyZU9wdGlvbnMSFgoOZ3JvdXBCeUNvbHVtbnMYASABKAkSFQoNZ3JvdXBBY2NvdW50cxgCIAEoCBJBCgdmaWx0ZXJzGAMgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRAoKdGFnRmlsdGVycxgEIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzIv4CCh1HZXRDb3N0VXNhZ2VSZXF1ZXN0R2NwT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRgoMbGFiZWxGaWx0ZXJzGAUgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSTQoTcHJvamVjdExhYmVsRmlsdGVycxgGIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgHIAEoCSLsAQoiR2V0Q29zdFVzYWdlUmVxdWVzdEF6dXJlQ3NwT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSDgoGdGFnS2V5GAUgASgJIoEDCiBHZXRDb3N0VXNhZ2VSZXF1ZXN0Q3VzdG9tT3B0aW9ucxIWCg5ncm91cEJ5Q29sdW1ucxgBIAEoCRIVCg1ncm91cEFjY291bnRzGAIgASgIEkEKB2ZpbHRlcnMYAyADKAsyMC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycxJECgp0YWdGaWx0ZXJzGAQgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSRgoMbGFiZWxGaWx0ZXJzGAUgAygLMjAuYmx1ZWFwaS5jb3Zlci52MS5SZWFkQ29zdHNSZXF1ZXN0T3B0aW9uc0ZpbHRlcnMSTQoTcHJvamVjdExhYmVsRmlsdGVycxgGIAMoCzIwLmJsdWVhcGkuY292ZXIudjEuUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzEg4KBnRhZ0tleRgHIAEoCSKpAQoeUmVhZENvc3RzUmVxdWVzdE9wdGlvbnNGaWx0ZXJzElQKCmFuZEZpbHRlcnMYASADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLlJlYWRDb3N0c1JlcXVlc3RPcHRpb25zRmlsdGVycy5BbmRGaWx0ZXJzRW50cnkaMQoPQW5kRmlsdGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi9gMKCENvc3RJdGVtEg4KBnZlbmRvchgBIAEoCRIMCgRkYXRlGAIgASgJEg8KB3Byb2R1Y3QYAyABKAkSDwoHYWNjb3VudBgEIAEoCRIRCgl1c2FnZVR5cGUYECABKAkSEgoKY2hhcmdlVHlwZRgRIAEoCRIMCgRjb3N0GAUgASgBEg8KB2RldGFpbHMYBiABKAkSNAoIZm9yZWNhc3QYByABKAsyIi5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NDb3N0Rm9yZWNhc3QSDgoGcmVnaW9uGAggASgJEhYKDmJpbGxpbmdBY2NvdW50GAkgASgJEhAKCHRhZ1ZhbHVlGAogASgJEhIKCmxhc3RVcGRhdGUYCyABKAkSDAoEdW5pdBgMIAEoCRIQCghjYXRlZ29yeRgNIAEoCRIOCgZ0YWdnZWQYDiABKAgSFQoNbnVtYmVyT2ZVbml0cxgSIAEoARJGCg51bml0Y29zdG1ldHJpYxgPIAMoCzIuLmJsdWVhcGkuY292ZXIudjEuQ29zdEl0ZW0uVW5pdGNvc3RtZXRyaWNFbnRyeRIaChJhbGxvY2F0aW9uQ2F0ZWdvcnkYEyABKAkaNQoTVW5pdGNvc3RtZXRyaWNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBIjoKI0dldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXF1ZXN0EhMKC2Nvc3RHcm91cElkGAEgASgJIlkKJEdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXNwb25zZRIxCghyZXNvdXJjZRgBIAMoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlRGF0YSJ4ChlNb2RpZnlSZXNvdXJjZVR5cGVSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSEgoKcmVzb3VyY2VJZBgDIAEoCRIUCgxyZXNvdXJjZVR5cGUYBCABKAkSDgoGcmVnaW9uGAUgASgJImkKGk1vZGlmeVJlc291cmNlVHlwZVJlc3BvbnNlEhEKCWFjY291bnRJZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEhQKDHJlc291cmNlVHlwZRgDIAEoCRIOCgZyZWdpb24YBCABKAkiYQoYVGVybWluYXRlUmVzb3VyY2VSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSEgoKcmVzb3VyY2VJZBgDIAEoCRIOCgZyZWdpb24YBCABKAkiUgoZVGVybWluYXRlUmVzb3VyY2VSZXNwb25zZRIRCglhY2NvdW50SWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIOCgZyZWdpb24YAyABKAkiQwoXVXBsb2FkQ2hhcmdlQ29kZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIMCgR0eXBlGAIgASgJEgwKBGZpbGUYAyABKAwiUgoYVXBsb2FkQ2hhcmdlQ29kZVJlc3BvbnNlEgwKBG5hbWUYASABKAkSKAoGc3RhdHVzGAIgASgOMhguYmx1ZWFwaS5jb3Zlci52MS5TdGF0dXMiSAoSQXNzaWduUGF5ZXJSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDwoHcGF5ZXJJZBgDIAEoCSI5ChNBc3NpZ25QYXllclJlc3BvbnNlEhEKCWFjY291bnRJZBgBIAEoCRIPCgdwYXllcklkGAIgASgJIiIKEEdldFBheWVyc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJIiMKEUdldFBheWVyc1Jlc3BvbnNlEg4KBnBheWVycxgBIAMoCSI5ChJHZXRBY2NvdW50c1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJIicKE0dldEFjY291bnRzUmVzcG9uc2USEAoIYWNjb3VudHMYASADKAkiOQoSR2V0U2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSInChNHZXRTZXJ2aWNlc1Jlc3BvbnNlEhAKCHNlcnZpY2VzGAEgAygJIjgKEUdldFJlZ2lvbnNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRITCgtjb3N0R3JvdXBJZBgCIAEoCSIlChJHZXRSZWdpb25zUmVzcG9uc2USDwoHcmVnaW9ucxgBIAMoCSI1Cg5HZXRUYWdzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkiPgoPR2V0VGFnc1Jlc3BvbnNlEisKB3RhZ0RhdGEYASADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5UYWdEYXRhIiAKD0xpc3RGZWVzUmVxdWVzdBINCgVtb250aBgBIAEoCSLtAgoKRmVlRGV0YWlscxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRINCgVtb250aBgFIAEoCRIQCghsaW5lVHlwZRgGIAEoCRIPCgdmZWVUeXBlGAcgASgJEhMKC3Byb2R1Y3RDb2RlGAggASgJEhMKC2Rlc2NyaXB0aW9uGAkgASgJEg8KB3N0YXJ0ZWQYCiABKAkSFAoMdGltZUludGVydmFsGAsgASgJEhMKC3Byb2R1Y3ROYW1lGAwgASgJEhAKCGN1cnJlbmN5GA0gASgJEhMKC3NwbGl0U3RhdHVzGA4gASgJEhMKC2lzQWxsb2NhdGVkGA8gASgIEhEKCWlzQXBwbGllZBgQIAEoCBIVCg11bmJsZW5kZWRDb3N0GBEgASgBEhEKCXNvdXJjZUZlZRgSIAEoCRISCgpsYXN0VXBkYXRlGBMgASgJIiIKEVJlc3RvcmVGZWVSZXF1ZXN0Eg0KBWZlZUlkGAEgASgJIlEKFkdldENvc3RHcm91cEZlZVJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnRUaW1lGAIgASgJEg8KB2VuZFRpbWUYAyABKAkiZgoHRmVlSXRlbRIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSDwoHcHJvZHVjdBgDIAEoCRIPCgdhY2NvdW50GAQgASgJEgwKBHR5cGUYBSABKAkSDAoEY29zdBgGIAEoASJJCglBbGxvY2F0b3ISDAoEdHlwZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIPCgdmb3JtdWxhGAMgASgJEg4KBm1vbnRocxgEIAEoAyJoCghDcml0ZXJpYRIwCgNhbmQYASADKAsyIy5ibHVlYXBpLmNvdmVyLnYxLkNyaXRlcmlhLkFuZEVudHJ5GioKCEFuZEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiogIKFENvc3RBbGxvY2F0b3JEZXRhaWxzEgoKAmlkGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhIKCmV4cGlyYXRpb24YAyABKAMSEgoKc3RhcnRNb250aBgEIAEoCRIWCg5kZWZhdWx0QWNjb3VudBgFIAEoCRIxCghjcml0ZXJpYRgGIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucxIuCglhbGxvY2F0b3IYByADKAsyGy5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRvchISCgpjcmVhdGVUaW1lGAggASgJEhIKCnVwZGF0ZVRpbWUYCSABKAkSDAoEbmFtZRgKIAEoCRITCgtkZXNjcmlwdGlvbhgLIAEoCSL6AQoUQ29zdEFsbG9jYXRvclJlcXVlc3QSCgoCaWQYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEgoKZXhwaXJhdGlvbhgDIAEoAxISCgpzdGFydE1vbnRoGAQgASgJEhYKDmRlZmF1bHRBY2NvdW50GAUgASgJEjEKCGNyaXRlcmlhGAYgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zEi4KCWFsbG9jYXRvchgHIAMoCzIbLmJsdWVhcGkuY292ZXIudjEuQWxsb2NhdG9yEgwKBG5hbWUYCCABKAkSEwoLZGVzY3JpcHRpb24YCSABKAkiFwoVTGlzdEFsbG9jYXRvcnNSZXF1ZXN0IvABChZDcmVhdGVBbGxvY2F0b3JSZXF1ZXN0EhAKCGNhdGVnb3J5GAEgASgJEhIKCmV4cGlyYXRpb24YAiABKAMSEgoKc3RhcnRNb250aBgDIAEoCRIWCg5kZWZhdWx0QWNjb3VudBgEIAEoCRIxCghjcml0ZXJpYRgFIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLkNvbWJpbmF0aW9ucxIuCglhbGxvY2F0b3IYBiADKAsyGy5ibHVlYXBpLmNvdmVyLnYxLkFsbG9jYXRvchIMCgRuYW1lGAcgASgJEhMKC2Rlc2NyaXB0aW9uGAggASgJIjIKHkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSKxAQofR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXNwb25zZRJYCglhdHRyaWJ1dGUYASADKAsyRS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25BdHRyaWJ1dGVzUmVzcG9uc2UuQWxsb2NhdGlvbkF0dHJpYnV0ZRo0ChNBbGxvY2F0aW9uQXR0cmlidXRlEgwKBHR5cGUYASABKAkSDwoHc2VydmljZRgCIAMoCSI+ChtHZXRBbGxvY2F0aW9uU291cmNlc1JlcXVlc3QSDAoEdHlwZRgBIAEoCRIRCglhY2NvdW50SWQYAiABKAki6wEKHEdldEFsbG9jYXRpb25Tb3VyY2VzUmVzcG9uc2USUAoGc291cmNlGAEgAygLMkAuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uU291cmNlc1Jlc3BvbnNlLkFsbG9jYXRpb25Tb3VyY2VzEisKB3RhZ0RhdGEYAiADKAsyGi5ibHVlYXBpLmFwaS5jb3Zlci5UYWdEYXRhGkwKEUFsbG9jYXRpb25Tb3VyY2VzEhMKC2FjY291bnROYW1lGAEgASgJEg8KB3NlcnZpY2UYAiABKAkSEQoJY29zdEdyb3VwGAMgASgJIiQKFkRlbGV0ZUFsbG9jYXRvclJlcXVlc3QSCgoCaWQYASABKAkiRwocUHJveHlDcmVhdGVDb21wbGV0aW9uUmVxdWVzdBInCgZwYXJhbXMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ii0KHVByb3h5Q3JlYXRlQ29tcGxldGlvblJlc3BvbnNlEgwKBGxpbmUYASABKAki1AQKE0FjY291bnRVc2FnZURldGFpbHMSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEZGF0ZRgFIAEoCRITCgtwcm9kdWN0Q29kZRgGIAEoCRITCgtzZXJ2aWNlQ29kZRgHIAEoCRIOCgZyZWdpb24YCCABKAkSDAoEem9uZRgJIAEoCRIRCgl1c2FnZVR5cGUYCiABKAkSFAoMaW5zdGFuY2VUeXBlGAsgASgJEhEKCW9wZXJhdGlvbhgMIAEoCRIRCglpbnZvaWNlSWQYDSABKAkSEwoLZGVzY3JpcHRpb24YDiABKAkSEgoKcmVzb3VyY2VJZBgPIAEoCRIMCgR0YWdzGBAgASgJEhYKDmNvc3RDYXRlZ29yaWVzGBEgASgJEhMKC3VzYWdlQW1vdW50GBIgASgBEhkKEXRydWVVbmJsZW5kZWRDb3N0GBMgASgBEhUKDXVuYmxlbmRlZENvc3QYFCABKAESFQoNZWZmZWN0aXZlQ29zdBgVIAEoARIVCg1hbW9ydGl6ZWRDb3N0GBYgASgBEhoKEnB1YmxpY09uRGVtYW5kQ29zdBgXIAEoARIbChN1bnVzZWRBbW9ydGl6ZWRDb3N0GBggASgBEhIKCmxhc3RVcGRhdGUYGSABKAkSEwoLc3BsaXRTdGF0dXMYGiABKAkSEwoLaXNBbGxvY2F0ZWQYGyABKAgSEQoJaXNBcHBsaWVkGBwgASgIEg4KBnNvdXJjZRgdIAEoCSI9ChdMaXN0QWNjb3VudFVzYWdlUmVxdWVzdBIRCglzdGFydERhdGUYASABKAkSDwoHZW5kRGF0ZRgCIAEoCSIyChpSZXN0b3JlQWNjb3VudFVzYWdlUmVxdWVzdBIUCgxhbGxvY2F0aW9uSWQYASABKAkiIwoVUmVzdG9yZVNhdmluZ3NSZXF1ZXN0EgoKAmlkGAEgASgJIroCCg5TYXZpbmdzRGV0YWlscxIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIOCgZ2ZW5kb3IYAyABKAkSDwoHYWNjb3VudBgEIAEoCRINCgVtb250aBgFIAEoCRIMCgR0eXBlGAYgASgJEgsKA2FybhgHIAEoCRITCgtwcm9kdWN0Q29kZRgIIAEoCRISCgpvZmZlckNsYXNzGAkgASgJEhAKCG9uZGVtYW5kGAogASgBEhUKDWVmZmVjdGl2ZUNvc3QYCyABKAESDwoHc2F2aW5ncxgMIAEoARITCgtzcGxpdFN0YXR1cxgNIAEoCRITCgtpc0FsbG9jYXRlZBgOIAEoCBIRCglpc0FwcGxpZWQYDyABKAgSDgoGc291cmNlGBAgASgJEhIKCmxhc3RVcGRhdGUYESABKAkiagodR2V0Q29zdEdyb3VwQWxsb2NhdGlvblJlcXVlc3QSEAoIY2F0ZWdvcnkYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkigAEKDkFsbG9jYXRpb25JdGVtEg4KBnZlbmRvchgBIAEoCRINCgVtb250aBgCIAEoCRIPCgdwcm9kdWN0GAMgASgJEg8KB2FjY291bnQYBCABKAkSDAoEdHlwZRgFIAEoCRIMCgRjb3N0GAYgASgBEhEKCWNvc3RHcm91cBgHIAEoCSJfChdQcm9jZXNzQXV0aDBVc2VyUmVxdWVzdBIOCgZzb3VyY2UYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRINCgVlbWFpbBgDIAEoCRIRCglzdWJ1c2VySWQYBCABKAkiMAoYUHJvY2Vzc0F1dGgwVXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCKVAgoKRGF0YUFjY2VzcxIOCgZ0YXJnZXQYASABKAkSDQoFb3JnSWQYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJEhIKCmxhc3RVcGRhdGUYByABKAkSEgoKY3JlYXRlVGltZRgIIAEoCRIOCgZ2ZW5kb3IYCSABKAki7QEKGVJlZ2lzdGVyRGF0YUFjY2Vzc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg4KBnRhcmdldBgCIAEoCRITCgthY2NvdW50VHlwZRgDIAEoCRIxCgpnY3BPcHRpb25zGAQgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuR2NwT3B0aW9ucxI1CgxhenVyZU9wdGlvbnMYBSABKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZU9wdGlvbnMSMQoKYXdzT3B0aW9ucxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkF3c09wdGlvbnMi6wEKF1VwZGF0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSMQoKZ2NwT3B0aW9ucxgDIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkdjcE9wdGlvbnMSNQoMYXp1cmVPcHRpb25zGAQgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQXp1cmVPcHRpb25zEjEKCmF3c09wdGlvbnMYBSABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NPcHRpb25zEhMKC2FjY291bnRUeXBlGAYgASgJIhcKFUxpc3REYXRhQWNjZXNzUmVxdWVzdCIhCh9MaXN0VW5yZWdpc3RlcmVkQWNjb3VudHNSZXF1ZXN0InEKIExpc3RVbnJlZ2lzdGVyZWRBY2NvdW50c1Jlc3BvbnNlEg0KBW9yZ0lkGAEgASgJEj4KEXVucmVnaXN0ZXJlZEFjY3RzGAIgAygLMiMuYmx1ZWFwaS5jb3Zlci52MS5VbnJlZ2lzdGVyZWRBY2N0cyJUChFVbnJlZ2lzdGVyZWRBY2N0cxIKCgJpZBgBIAEoCRIPCgdwYXllcklkGAIgASgJEg4KBnN0YXR1cxgDIAEoCRISCgpsYXN0VXBkYXRlGAQgASgJInwKFUJpbGxpbmdBY2NvdW50UmVxdWVzdBIRCgliaWxsaW5nSWQYASABKAkSEQoJZGF0YXNldElkGAIgASgJEhUKDWRhdGFzZXRSZWdpb24YAyABKAkSEQoJcHJvamVjdElkGAQgASgJEhMKC2JpbGxpbmdOYW1lGAUgASgJIlQKHUdldEFuZERlbGV0ZURhdGFBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEwoLYWNjb3VudFR5cGUYAyABKAkiYQoiQWRkUGFydG5lckNlbnRlckNyZWRlbnRpYWxzUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSFQoNYXBwbGljYXRpb25JZBgCIAEoCRIRCglzZWNyZXRLZXkYAyABKAkiJQoUQWRkTXBuU2V0dGluZ1JlcXVlc3QSDQoFbXBuSWQYASABKAki1gEKHEdldENvc3RHcm91cEF0dHJpYnV0ZVJlcXVlc3QSDgoGdmVuZG9yGAEgASgJEhUKDWF0dHJpYnV0ZVR5cGUYAiABKAkSEwoLY29zdEdyb3VwSWQYAyABKAkSPQoUZXhpc3RpbmdDb21iaW5hdGlvbnMYBCADKAsyHy5ibHVlYXBpLmFwaS5jb3Zlci5Db21iaW5hdGlvbnMSOwoSY3VycmVudENvbWJpbmF0aW9uGAUgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuQ29tYmluYXRpb25zIncKHUdldENvc3RHcm91cEF0dHJpYnV0ZVJlc3BvbnNlEikKBnJlc3VsdBgBIAMoCzIZLmJsdWVhcGkuYXBpLmNvdmVyLlJlc3VsdBIrCgd0YWdEYXRhGAIgAygLMhouYmx1ZWFwaS5hcGkuY292ZXIuVGFnRGF0YSImChRHZXRDYXRlZ29yaWVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkiRgoVR2V0Q2F0ZWdvcmllc1Jlc3BvbnNlEi0KCGNhdGVnb3J5GAEgAygLMhsuYmx1ZWFwaS5hcGkuY292ZXIuQ2F0ZWdvcnkiEgoQR2V0QWxlcnRzUmVxdWVzdCJEChFHZXRBbGVydHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEihgEKEkNyZWF0ZUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhMKC2ZpeGVkQW1vdW50GAIgASgCEhIKCnBlcmNlbnRhZ2UYAyABKAISEwoLZ3JhbnVsYXJpdHkYBCABKAkSEgoKY29zdEdyb3VwcxgFIAMoCRIQCghjaGFubmVscxgGIAMoCSJGChNDcmVhdGVBbGVydFJlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIkChZHZXRBbGVydERldGFpbHNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKF0dldEFsZXJ0RGV0YWlsc1Jlc3BvbnNlEi8KCWFsZXJ0RGF0YRgBIAEoCzIcLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0RGF0YSIgChJEZWxldGVBbGVydFJlcXVlc3QSCgoCaWQYASABKAkiIQoTRGVsZXRlQWxlcnRSZXNwb25zZRIKCgJpZBgBIAEoCSKZAQoZVXBkYXRlQWxlcnREZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2ZpeGVkQW1vdW50GAMgASgCEhIKCnBlcmNlbnRhZ2UYBCABKAISEwoLZ3JhbnVsYXJpdHkYBSABKAkSEgoKY29zdEdyb3VwcxgGIAMoCRIQCghjaGFubmVscxgHIAMoCSJNChpVcGRhdGVBbGVydERldGFpbHNSZXNwb25zZRIvCglhbGVydERhdGEYASABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydERhdGEiIgoSR2V0Q2hhbm5lbHNSZXF1ZXN0EgwKBHR5cGUYASABKAkiSgoTR2V0Q2hhbm5lbHNSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIkYKFENyZWF0ZUNoYW5uZWxSZXF1ZXN0EgwKBG5hbWUYASABKAkSDAoEdHlwZRgCIAEoCRISCgp3ZWJob29rVXJsGAMgASgJIkwKFUNyZWF0ZUNoYW5uZWxSZXNwb25zZRIzCgtjaGFubmVsRGF0YRgBIAEoCzIeLmJsdWVhcGkuYXBpLmNvdmVyLkNoYW5uZWxEYXRhIiYKGEdldENoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCSJQChlHZXRDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEiIgoURGVsZXRlQ2hhbm5lbFJlcXVlc3QSCgoCaWQYASABKAkiIwoVRGVsZXRlQ2hhbm5lbFJlc3BvbnNlEgoKAmlkGAEgASgJIlkKG1VwZGF0ZUNoYW5uZWxEZXRhaWxzUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSEgoKd2ViaG9va1VybBgEIAEoCSJTChxVcGRhdGVDaGFubmVsRGV0YWlsc1Jlc3BvbnNlEjMKC2NoYW5uZWxEYXRhGAEgASgLMh4uYmx1ZWFwaS5hcGkuY292ZXIuQ2hhbm5lbERhdGEizwEKIUdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIvCglhd3NJbnB1dHMYAiABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5Bd3NJbnB1dHMSMwoLYXp1cmVJbnB1dHMYAyABKAsyHi5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZUlucHV0cxIvCglnY3BJbnB1dHMYBCABKAsyHC5ibHVlYXBpLmFwaS5jb3Zlci5HY3BJbnB1dHMiiQIKIkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVzcG9uc2USSQoSYXdzUmVjb21tZW5kYXRpb25zGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuQXdzRGlzY291bnRSZWNvbW1lbmRhdGlvbnMSTQoUYXp1cmVSZWNvbW1lbmRhdGlvbnMYAiABKAsyLy5ibHVlYXBpLmFwaS5jb3Zlci5BenVyZURpc2NvdW50UmVjb21tZW5kYXRpb25zEkkKEmdjcFJlY29tbWVuZGF0aW9ucxgDIAEoCzItLmJsdWVhcGkuYXBpLmNvdmVyLkdjcERpc2NvdW50UmVjb21tZW5kYXRpb25zIlcKHEdldEFub21hbHlpbkNvc3RHcm91cFJlcXVlc3QSEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAki4QEKC0Fub21hbHlEYXRhEg8KB2FjY291bnQYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSDgoGdmVuZG9yGAMgASgJEg8KB3Byb2R1Y3QYBCABKAkSDAoEZGF0ZRgFIAEoCRIRCgl0b3RhbENvc3QYBiABKAISEQoJaXNBbm9tYWx5GAcgASgIEhIKCmxvd2VyTGltaXQYCCABKAISEgoKdXBwZXJMaW1pdBgJIAEoAhITCgthbm9tYWx5Q29zdBgKIAEoAhIaChJhbm9tYWx5UHJvYmFiaWxpdHkYCyABKAIihQEKJENyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBITCgtmcmVxdWVuY2llcxgBIAMoAxISCgpjb3N0R3JvdXBzGAIgAygJEhQKDGFsZXJ0RW5hYmxlZBgDIAEoCBIQCghjaGFubmVscxgEIAMoCRIMCgRuYW1lGAUgASgJIjYKKE1hbmlwdWxhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QSCgoCaWQYASABKAkikQEKJFVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBIKCgJpZBgBIAEoCRIUCgxhbGVydEVuYWJsZWQYAiABKAgSEAoIY2hhbm5lbHMYAyADKAkSEwoLZnJlcXVlbmNpZXMYBCADKAMSEgoKY29zdEdyb3VwcxgFIAMoCRIMCgRuYW1lGAYgASgJIukBChdEaXNjb3VudEV4cGlyeUFsZXJ0RGF0YRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIUCgxhbGVydEVuYWJsZWQYAyABKAgSEwoLZnJlcXVlbmNpZXMYBCADKAMSNQoKY29zdEdyb3VwcxgFIAMoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFsZXJ0Q29zdEdyb3VwEg8KB2RldGFpbHMYBiABKAkSMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzEgwKBG5hbWUYCCABKAkiJAoiTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdCKFAQoZQ3JlYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBIMCgRuYW1lGAEgASgJEhQKDGFsZXJ0RW5hYmxlZBgCIAEoCBIRCglmcmVxdWVuY3kYAyABKAkSEwoLY29zdEdyb3VwSWQYBCABKAkSHAoUbm90aWZpY2F0aW9uQ2hhbm5lbHMYBSADKAkiKwodTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QSCgoCaWQYASABKAki0AEKEEFub21hbHlBbGVydERhdGESCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIUCgxhbGVydEVuYWJsZWQYBCABKAgSEQoJZnJlcXVlbmN5GAUgASgJEjYKC2Nvc3RHcm91cElkGAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuQWxlcnRDb3N0R3JvdXASMgoIY2hhbm5lbHMYByABKAsyIC5ibHVlYXBpLmFwaS5jb3Zlci5BbGVydENoYW5uZWxzIhkKF0xpc3RBbm9tYWx5QWxlcnRSZXF1ZXN0IpEBChlVcGRhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMYWxlcnRFbmFibGVkGAMgASgIEhwKFG5vdGlmaWNhdGlvbkNoYW5uZWxzGAQgAygJEhEKCWZyZXF1ZW5jeRgFIAEoCRITCgtjb3N0R3JvdXBJZBgGIAEoCSKJAQoWUmVnaXN0ZXJOZXdVc2VyUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSDAoEcm9sZRgFIAEoCRIOCgZhbW91bnQYBiABKAkSEQoJaW50ZW50aW9uGAcgASgJIi8KF1JlZ2lzdGVyTmV3VXNlclJlc3BvbnNlEhQKDGlzQXV0aG9yaXplZBgBIAEoCCImChVHZXRVc2VyUHJvZmlsZVJlcXVlc3QSDQoFZW1haWwYASABKAkizgEKFkdldFVzZXJQcm9maWxlUmVzcG9uc2USGQoRaGFzQ3JlYXRlZFByb2ZpbGUYASABKAgSDAoEbmFtZRgCIAEoCRIMCgRyb2xlGAMgASgJEg0KBXVzYWdlGAQgASgJEhEKCWludGVudGlvbhgFIAEoCRITCgtjb21wYW55TmFtZRgGIAEoCRIUCgxlbWFpbEFkZHJlc3MYByABKAkSEgoKbGlua1NvdXJjZRgIIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgJIAEoCCKuAQoYVXBkYXRlVXNlclByb2ZpbGVSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEcm9sZRgDIAEoCRINCgV1c2FnZRgEIAEoCRIRCglpbnRlbnRpb24YBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSEgoKbGlua1NvdXJjZRgHIAEoCRIcChRoYXNTdWJzY3JpYmVkVXBkYXRlcxgIIAEoCCKvAQoZVXBkYXRlVXNlclByb2ZpbGVSZXNwb25zZRINCgVlbWFpbBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHJvbGUYAyABKAkSDQoFdXNhZ2UYBCABKAkSEQoJaW50ZW50aW9uGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhIKCmxpbmtTb3VyY2UYByABKAkSHAoUaGFzU3Vic2NyaWJlZFVwZGF0ZXMYCCABKAgiSAoSTGlzdEJ1ZGdldHNSZXF1ZXN0Eh8KF2luY2x1ZGVTcGVuZEFuZEZvcmVjYXN0GAEgASgIEhEKCWNvc3RHcm91cBgCIAEoCSJIChNMaXN0QnVkZ2V0c1Jlc3BvbnNlEjEKCmJ1ZGdldERhdGEYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5CdWRnZXREYXRhIh4KEEdldEJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0QnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSAoTQ3JlYXRlQnVkZ2V0UmVxdWVzdBIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSJJChRDcmVhdGVCdWRnZXRSZXNwb25zZRIxCgpidWRnZXREYXRhGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuQnVkZ2V0RGF0YSIhChNEZWxldGVCdWRnZXRSZXF1ZXN0EgoKAmlkGAEgASgJIiIKFERlbGV0ZUJ1ZGdldFJlc3BvbnNlEgoKAmlkGAEgASgJIlQKE1VwZGF0ZUJ1ZGdldFJlcXVlc3QSCgoCaWQYASABKAkSMQoKYnVkZ2V0RGF0YRgCIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSQoUVXBkYXRlQnVkZ2V0UmVzcG9uc2USMQoKYnVkZ2V0RGF0YRgBIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLkJ1ZGdldERhdGEiSwouUmVzb2x2ZUFXU01hcmtldHBsYWNlVG9rZW5Gb3JPbmJvYXJkaW5nUmVxdWVzdBIZChFyZWdpc3RyYXRpb25Ub2tlbhgBIAEoCSJhCi9SZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmdSZXNwb25zZRIaChJpc0FsbG93ZWRUb09uYm9hcmQYASABKAgSEgoKY3VzdG9tZXJJZBgCIAEoCSImCiRHZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1JlcXVlc3Qi8gEKJUdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVzcG9uc2USFgoOZGF0ZVJlZ2lzdGVyZWQYASABKAkSGgoSc3Vic2NyaXB0aW9uRXhwaXJ5GAIgASgJEhAKCGRheXNMZWZ0GAMgASgFEhQKDGlzU3Vic2NyaWJlZBgEIAEoCBIRCglpc0V4cGlyZWQYBSABKAgSDAoEcGxhbhgGIAEoCRIOCgZhbW91bnQYByABKAkSFQoNcGF5bWVudE9wdGlvbhgIIAEoCRIVCg1wYXltZW50TWV0aG9kGAkgASgJEg4KBmNyZWRpdBgKIAEoASKzAQoWQ3JlYXRlUHJvZmlsaW5nUmVxdWVzdBIMCgRuYW1lGAEgASgJEgwKBHJvbGUYAiABKAkSDQoFdXNhZ2UYAyABKAkSEQoJaW50ZW50aW9uGAQgASgJEhMKC2NvbXBhbnlOYW1lGAUgASgJEhQKDGVtYWlsQWRkcmVzcxgGIAEoCRISCgpsaW5rU291cmNlGAcgASgJEhwKFGhhc1N1YnNjcmliZWRVcGRhdGVzGAggASgIIhkKF0NyZWF0ZVByb2ZpbGluZ1Jlc3BvbnNlIjkKG0FkZEluZm90b01hcmtldHBsYWNlUmVxdWVzdBIaChJjdXN0b21lcklkZW50aWZpZXIYASABKAkiHgocQWRkSW5mb3RvTWFya2V0cGxhY2VSZXNwb25zZSJ4ChdHZXRSZXBvcnRTdW1tYXJ5UmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRISCgpyZXBvcnRUeXBlGAQgASgJEhAKCGN1cnJlbmN5GAUgASgJIq4CChhHZXRSZXBvcnRTdW1tYXJ5UmVzcG9uc2USEwoLY29zdEdyb3VwSWQYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSPQoQZXhlY3V0aXZlU3VtbWFyeRgEIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGl2ZVN1bW1hcnkSXwohb3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5GAUgASgLMjQuYmx1ZWFwaS5hcGkuY292ZXIuT3B0aW1pemF0aW9uUmVjb21tZW5kYXRpb25TdW1tYXJ5EjkKDnNhdmluZ3NTdW1tYXJ5GAYgASgLMiEuYmx1ZWFwaS5hcGkuY292ZXIuU2F2aW5nc1N1bW1hcnkiqgIKGUxpc3RSZWNvbW1lbmRhdGlvblJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSGgoSb3B0aW1pemF0aW9uU3RhdHVzGAcgASgJEgwKBHR5cGUYCCABKAkSDgoGc3BUeXBlGAkgASgJEhEKCXJhdGVNb2RlbBgKIAEoCRIVCg1wYXltZW50T3B0aW9uGAsgASgJEgwKBHRlcm0YDCABKAkSDwoHc2VydmljZRgNIAEoCRIVCg1vZmZlcmluZ0NsYXNzGA4gASgJEhAKCGN1cnJlbmN5GA8gASgJItUCChtMaXN0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJElAKDHJhdGVTZXR0aW5ncxgEIAEoCzI6LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0LlJhdGVTZXR0aW5ncxIQCghjdXJyZW5jeRgFIAEoCRqOAQoMUmF0ZVNldHRpbmdzEg4KBnNwVHlwZRgBIAEoCRIRCglyYXRlTW9kZWwYAiABKAkSFQoNcGF5bWVudE9wdGlvbhgDIAEoCRIMCgR0ZXJtGAQgASgJEg8KB3NlcnZpY2UYBSABKAkSFQoNb2ZmZXJpbmdDbGFzcxgGIAEoCRIOCgZ2ZW5kb3IYByABKAki2gYKGkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlEhgKEHJlY29tbWVuZGF0aW9uSWQYASABKAkSFgoOcmVjb21tZW5kYXRpb24YAiABKAkSDwoHc2VydmljZRgDIAEoCRIeChZlc3RpbWF0ZWRNb250aGx5U2F2aW5nGAQgASgBEhwKFGVzdGltYXRlZE1vbnRobHlDb3N0GAUgASgBEg8KB3Njb3JpbmcYBiABKAkSDgoGdmVuZG9yGAcgASgJEhAKCGNhdGVnb3J5GAggASgJEhoKEm9wdGltaXphdGlvblN0YXR1cxgJIAEoCRIUCgxlcnJvck1lc3NhZ2UYCiABKAkSEQoJYWNjb3VudElkGAsgASgJEhMKC2FjY291bnROYW1lGAwgASgJEhQKDGluc3RhbmNlTmFtZRgNIAEoCRISCgppbnN0YW5jZUlkGA4gASgJEhQKDGluc3RhbmNlVHlwZRgPIAEoCRIOCgZyZWdpb24YECABKAkSEgoKY29tbWl0bWVudBgRIAEoARIOCgZzcFR5cGUYEiABKAkSGAoQbnVtYmVyVG9QdXJjaGFzZRgTIAEoAxIOCgZyaVR5cGUYFCABKAkSDAoEdHlwZRgVIAEoCRIOCgZzb3VyY2UYFiABKAkSFwoPZGF0ZVJlY29tbWVuZGVkGBcgASgJEhsKE3JlY29tbWVuZGF0aW9uR3JvdXAYGCABKAkSFQoNbGFzdFVwZGF0ZWRBdBgZIAEoCRJTCg5wdXJjaGFzZU9wdGlvbhgaIAEoCzI7LmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uUmVzcG9uc2UuUHVyY2hhc2VPcHRpb24azwEKDlB1cmNoYXNlT3B0aW9uEg4KBnNwVHlwZRgBIAEoCRIVCg1vZmZlcmluZ0NsYXNzGAIgASgJEhIKCmNvbW1pdG1lbnQYAyABKAESGAoQbnVtYmVyVG9QdXJjaGFzZRgEIAEoAxIVCg1wYXltZW50T3B0aW9uGAUgASgJEgwKBHRlcm0YBiABKAkSGQoRY3VycmVudEdlbmVyYXRpb24YByABKAgSEwoLc2VydmljZVR5cGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAEiUQoYR2V0UmVjb21tZW5kYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEhMKC2Nvc3RHcm91cElkGAIgASgJEhQKDHBlcmlvZE9wdGlvbhgDIAEoCSJeChlHZXRSZWNvbW1lbmRhdGlvblJlc3BvbnNlEkEKEnJlY29tbWVuZGF0aW9uRGF0YRgBIAEoCzIlLmJsdWVhcGkuYXBpLmNvdmVyLkFXU1JlY29tbWVuZGF0aW9ucyJEChpFeGVjdXRlT3B0aW1pemF0aW9uUmVxdWVzdBIYChByZWNvbW1lbmRhdGlvbklkGAEgASgJEgwKBHR5cGUYAiABKAkilAMKG0V4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZRJMCglhd3NPcHRpb24YASABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5BV1NPcHRpb25IABJMCglnY3BPcHRpb24YAiABKAsyNy5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZS5HQ1BPcHRpb25IABJWCg5henVyZUNzcE9wdGlvbhgDIAEoCzI8LmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlc3BvbnNlLkF6dXJlQ1NQT3B0aW9uSAAaWAoJQVdTT3B0aW9uEhoKEmFwcHJvdmVUZW1wbGF0ZVVybBgBIAEoCRIYChByZWNvbW1lbmRhdGlvbklkGAIgASgJEhUKDWN1cnJlbnRTdGF0dXMYAyABKAkaCwoJR0NQT3B0aW9uGhAKDkF6dXJlQ1NQT3B0aW9uQggKBlZlbmRvciIjChVNYXJrQXNFeGVjdXRlZFJlcXVlc3QSCgoCaWQYASADKAkiGAoWTWFya0FzRXhlY3V0ZWRSZXNwb25zZSIvCiFVbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlcXVlc3QSCgoCaWQYASADKAkiJAoiVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXNwb25zZSKnAQoaT3B0aW1pemF0aW9uSGlzdG9yeVJlcXVlc3QSEwoLY29zdGdyb3VwSWQYASABKAkSFgoOZGF0ZVJhbmdlU3RhcnQYAiABKAkSFAoMZGF0ZVJhbmdlRW5kGAMgASgJEg4KBnZlbmRvchgEIAEoCRIOCgZzb3VyY2UYBSABKAkSFAoMcGVyaW9kT3B0aW9uGAYgASgJEhAKCGN1cnJlbmN5GAcgASgJInYKG09wdGltaXphdGlvbkhpc3RvcnlSZXNwb25zZRJXCh1leGVjdXRlZFJlY29tbWVuZGF0aW9uRGV0YWlscxgCIAMoCzIwLmJsdWVhcGkuYXBpLmNvdmVyLkV4ZWN1dGVkUmVjb21tZW5kYXRpb25EZXRhaWxzImAKIVNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIPCgdhbm9tYWx5GAIgASgIEhUKDXZpc3VhbEJ1aWxkZXIYAyABKAgidAoiU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5ldmVudEluZGljYXRvchgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkV2ZW50SW5kaWNhdG9yInsKIVNldENvc3RHcm91cEFub21hbHlPcHRpb25zUmVxdWVzdBITCgtjb3N0R3JvdXBJZBgBIAEoCRIRCgl0aHJlc2hvbGQYAiABKAISFAoMaXNQZXJjZW50YWdlGAMgASgIEhgKEHBhc3REYXRhSW5Nb250aHMYBCABKAMidAoiU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXNwb25zZRITCgtjb3N0R3JvdXBJZBgBIAEoCRI5Cg5hbm9tYWx5T3B0aW9ucxgCIAEoCzIhLmJsdWVhcGkuYXBpLmNvdmVyLkFub21hbHlPcHRpb25zIi8KGFNldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdBITCgtmaXNjYWxNb250aBgBIAEoCSIwChlTZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJIhoKGEdldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdCJIChlHZXRPcmdGaXNjYWxNb250aFJlc3BvbnNlEhMKC2Zpc2NhbE1vbnRoGAEgASgJEhYKDmRhdGVSZWdpc3RlcmVkGAIgASgJIlsKG1RyYW5zZmVyT3JnYW5pemF0aW9uUmVxdWVzdBIOCgZ0YXJnZXQYASABKAkSDgoGcmVnaW9uGAIgASgJEg0KBXBheWVyGAMgASgJEg0KBW9yZ0lkGAQgASgJIi4KHFRyYW5zZmVyT3JnYW5pemF0aW9uUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJIkUKIFVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXF1ZXN0EiEKGXVzZU5ld0Nvc3RHcm91cENyZWF0aW9uVUkYASABKAgiUgohVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlc3BvbnNlEi0KCHVzZXJEYXRhGAEgASgLMhsuYmx1ZWFwaS5hcGkuY292ZXIuVXNlckRhdGEiFgoUTGlzdFVuaXRUeXBlc1JlcXVlc3QiTgoVTGlzdFVuaXRUeXBlc1Jlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAMoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSK2AQoVQ3JlYXRlVW5pdFR5cGVSZXF1ZXN0EhAKCHVuaXROYW1lGAEgASgJEi4KCXVuaXRJdGVtcxgCIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgDIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAQgASgJIk8KFkNyZWF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiAKEkdldFVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRVbml0VHlwZVJlc3BvbnNlEjUKDHVuaXRDb3N0RGF0YRgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSLCAQoVVXBkYXRlVW5pdFR5cGVSZXF1ZXN0EgoKAmlkGAEgASgJEhAKCHVuaXROYW1lGAIgASgJEi4KCXVuaXRJdGVtcxgDIAMoCzIbLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRJdGVtEkYKD3NoYXJlZFJlc291cmNlcxgEIAMoCzItLmJsdWVhcGkuYXBpLmNvdmVyLlNoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9uEhMKC2Rlc2NyaXB0aW9uGAUgASgJIk8KFlVwZGF0ZVVuaXRUeXBlUmVzcG9uc2USNQoMdW5pdENvc3REYXRhGAEgASgLMh8uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdENvc3REYXRhIiMKFURlbGV0ZVVuaXRUeXBlUmVxdWVzdBIKCgJpZBgBIAEoCSIkChZEZWxldGVVbml0VHlwZVJlc3BvbnNlEgoKAmlkGAEgASgJIk8KEU1lcmdlVW5pdHNSZXF1ZXN0EhMKC3VuaXRDb3N0SWRzGAEgAygJEhAKCHVuaXROYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIk0KEk1lcmdlVW5pdHNSZXNwb25zZRI3Cg5tZXJnZWRVbml0Q29zdBgBIAEoCzIfLmJsdWVhcGkuYXBpLmNvdmVyLlVuaXRDb3N0RGF0YSIbChlMaXN0U3VnZ2VzdGVkVW5pdHNSZXF1ZXN0IlYKGkxpc3RTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlEjgKDnN1Z2dlc3RlZFVuaXRzGAEgAygLMiAuYmx1ZWFwaS5hcGkuY292ZXIuU3VnZ2VzdGVkVW5pdCJyChpNZXJnZVN1Z2dlc3RlZFVuaXRzUmVxdWVzdBIYChBzdWdnZXN0ZWRVbml0SWRzGAEgAygJEhMKC3VuaXRJdGVtSWRzGAIgAygJEhAKCHVuaXROYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIl0KG01lcmdlU3VnZ2VzdGVkVW5pdHNSZXNwb25zZRI+ChRtZXJnZWRTdWdnZXN0ZWRVbml0cxgBIAEoCzIgLmJsdWVhcGkuYXBpLmNvdmVyLlN1Z2dlc3RlZFVuaXQiOgoeQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXF1ZXN0EhgKEHN1Z2dlc3RlZFVuaXRJZHMYASADKAkiNgofQ3JlYXRlVW5pdEZyb21TdWdnZXN0ZWRSZXNwb25zZRITCgt1bml0Q29zdElkcxgBIAMoCSIcChpMaXN0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdCJlChtMaXN0U2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgAygLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24i0wIKHENyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QSGgoSc2hhcmVkUmVzb3VyY2VOYW1lGAEgASgJEk0KG3NoYXJlZFJlc291cmNlc0NvbWJpbmF0aW9ucxgCIAEoCzIoLmJsdWVhcGkuYXBpLmNvdmVyLlJlc291cmNlc0NvbWJpbmF0aW9ucxJWCgxkaXN0cmlidXRpb24YAyADKAsyQC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QuRGlzdHJpYnV0aW9uRW50cnkSEQoJYWxsb2NhdGVkGAQgASgBEhMKC3VuYWxsb2NhdGVkGAUgASgBEhMKC2Rlc2NyaXB0aW9uGAYgASgJGjMKEURpc3RyaWJ1dGlvbkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEiZwodQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2USRgoPc2hhcmVkUmVzb3VyY2VzGAEgASgLMi0uYmx1ZWFwaS5hcGkuY292ZXIuU2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb24iJwoZR2V0U2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCSJkChpHZXRTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiLfAgocVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIaChJzaGFyZWRSZXNvdXJjZU5hbWUYAiABKAkSTQobc2hhcmVkUmVzb3VyY2VzQ29tYmluYXRpb25zGAMgASgLMiguYmx1ZWFwaS5hcGkuY292ZXIuUmVzb3VyY2VzQ29tYmluYXRpb25zElYKDGRpc3RyaWJ1dGlvbhgEIAMoCzJALmJsdWVhcGkuY292ZXIudjEuVXBkYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdC5EaXN0cmlidXRpb25FbnRyeRIRCglhbGxvY2F0ZWQYBSABKAESEwoLdW5hbGxvY2F0ZWQYBiABKAESEwoLZGVzY3JpcHRpb24YByABKAkaMwoRRGlzdHJpYnV0aW9uRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJnCh1VcGRhdGVTaGFyZWRSZXNvdXJjZXNSZXNwb25zZRJGCg9zaGFyZWRSZXNvdXJjZXMYASABKAsyLS5ibHVlYXBpLmFwaS5jb3Zlci5TaGFyZWRSZXNvdXJjZXNDb21iaW5hdGlvbiIqChxEZWxldGVTaGFyZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJIisKHURlbGV0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlEgoKAmlkGAEgASgJIlcKFkxpc3RVbml0TWV0cmljc1JlcXVlc3QSGQoRYWdncmVnYXRpb25NZXRob2QYASABKAkSEgoKZGF0YVNvdXJjZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkiTQoXTGlzdFVuaXRNZXRyaWNzUmVzcG9uc2USMgoLdW5pdE1ldHJpY3MYASADKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIrkBChdDcmVhdGVVbml0TWV0cmljUmVxdWVzdBISCgptZXRyaWNOYW1lGAEgASgJEhkKEWFnZ3JlZ2F0aW9uTWV0aG9kGAIgASgJEhIKCmRhdGFTb3VyY2UYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSEwoLY29zdGdyb3VwSWQYBSADKAkSMQoKc291cmNlSW5mbxgGIAEoCzIdLmJsdWVhcGkuYXBpLmNvdmVyLlNvdXJjZUluZm8iTQoYQ3JlYXRlVW5pdE1ldHJpY1Jlc3BvbnNlEjEKCnVuaXRNZXRyaWMYASABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Vbml0TWV0cmljIiIKFEdldFVuaXRNZXRyaWNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKFUdldFVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyLFAQoXVXBkYXRlVW5pdE1ldHJpY1JlcXVlc3QSCgoCaWQYASABKAkSEgoKbWV0cmljTmFtZRgCIAEoCRIZChFhZ2dyZWdhdGlvbk1ldGhvZBgDIAEoCRISCgpkYXRhU291cmNlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhMKC2Nvc3Rncm91cElkGAYgAygJEjEKCnNvdXJjZUluZm8YByABKAsyHS5ibHVlYXBpLmFwaS5jb3Zlci5Tb3VyY2VJbmZvIk0KGFVwZGF0ZVVuaXRNZXRyaWNSZXNwb25zZRIxCgp1bml0TWV0cmljGAEgASgLMh0uYmx1ZWFwaS5hcGkuY292ZXIuVW5pdE1ldHJpYyIlChdEZWxldGVVbml0TWV0cmljUmVxdWVzdBIKCgJpZBgBIAEoCSImChhEZWxldGVVbml0TWV0cmljUmVzcG9uc2USCgoCaWQYASABKAkiZgoZUHJldmlld0dvb2dsZVNoZWV0UmVxdWVzdBIVCg1nb29nbGVTaGVldElkGAEgASgJEhAKCHNoZWV0VXJsGAIgASgJEhEKCXNoZWV0TmFtZRgDIAEoCRINCgVyYW5nZRgEIAEoCSJZChpQcmV2aWV3R29vZ2xlU2hlZXRSZXNwb25zZRIOCgZoZWFkZXIYASADKAkSKwoHcm93RGF0YRgCIAMoCzIaLmJsdWVhcGkuYXBpLmNvdmVyLlJvd0RhdGEiMwofQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzUmVxdWVzdBIQCghzaGVldFVybBgBIAEoCSJNCiBDb25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXNwb25zZRIVCg1nb29nbGVTaGVldElkGAEgASgJEhIKCnNoZWV0TmFtZXMYAiADKAkidgocR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVxdWVzdBIRCglhY2NvdW50SWQYASABKAkSDgoGcmVnaW9uGAIgASgJEgwKBHR5cGUYAyABKAkSEQoJbmFtZXNwYWNlGAQgASgJEhIKCm1ldHJpY05hbWUYBSABKAkivgEKHUdldENsb3Vkd2F0Y2hNZXRhZGF0YVJlc3BvbnNlEhIKCm5hbWVzcGFjZXMYASADKAkSDwoHbWV0cmljcxgCIAMoCRJNCgpkaW1lbnNpb25zGAMgAygLMjkuYmx1ZWFwaS5jb3Zlci52MS5HZXRDbG91ZHdhdGNoTWV0YWRhdGFSZXNwb25zZS5EaW1lbnNpb24aKQoJRGltZW5zaW9uEgwKBG5hbWUYASABKAkSDgoGdmFsdWVzGAIgAygJIoECChZHZXREaXNjb3VudFBsYW5SZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRINCgVvcmdJZBgCIAEoCRIYChByZWR1Y3Rpb25EaXNwbGF5GAMgASgJEhYKDmluY2x1ZGVEZXRhaWxzGAQgASgIEhAKCGZyb21EYXRlGAUgASgJEg4KBnRvRGF0ZRgGIAEoCRIPCgdwYXllcklkGAcgASgJEhkKEWJpbGxpbmdJbnRlcm5hbElkGAggASgJEg8KB2dyb3VwSWQYCSABKAkSEwoLY29zdEdyb3VwSWQYCiABKAkSEAoIYWNjb3VudHMYCyADKAkSEAoIc2VydmljZXMYDCADKAkiZwoXR2V0RGlzY291bnRQbGFuUmVzcG9uc2USDQoFb3JnSWQYASABKAkSPQoQYXdzRGlzY291bnRQbGFucxgCIAEoCzIjLmJsdWVhcGkuYXBpLmNvdmVyLkF3c0Rpc2NvdW50UGxhbnMicwocTGlzdE5vbnBlcmZvcm1pbmdSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEAoIZnJvbURhdGUYAyABKAkSDgoGdG9EYXRlGAQgASgJEgwKBHR5cGUYBSABKAkiyQEKHUxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlElQKDW5vbnBlcmZvcm1pbmcYASADKAsyPS5ibHVlYXBpLmNvdmVyLnYxLkxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlLk5vbnBlcmZvcm1pbmcaUgoNTm9ucGVyZm9ybWluZxIMCgR0eXBlGAEgASgJEg8KB2FjY291bnQYAiABKAkSEwoLdXRpbGl6YXRpb24YAyABKAESDQoFd2FzdGUYBCABKAEidAocTGlzdFVudGFnZ2VkUmVzb3VyY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEwoLY29zdEdyb3VwSWQYAiABKAkSEAoIZnJvbURhdGUYAyABKAkSDgoGdG9EYXRlGAQgASgJEg0KBWxpbWl0GAUgASgDIvkBCh1MaXN0VW50YWdnZWRSZXNvdXJjZXNSZXNwb25zZRJcChF1bnRhZ2dlZFJlc291cmNlcxgBIAMoCzJBLmJsdWVhcGkuY292ZXIudjEuTGlzdFVudGFnZ2VkUmVzb3VyY2VzUmVzcG9uc2UuVW50YWdnZWRSZXNvdXJjZXMaegoRVW50YWdnZWRSZXNvdXJjZXMSEAoIcmVzb3VyY2UYASABKAkSDwoHc2VydmljZRgCIAEoCRIRCglhY2NvdW50SWQYAyABKAkSEQoJY29zdEdyb3VwGAQgASgJEgwKBGNvc3QYBSABKAESDgoGdmVuZG9yGAYgASgJKj8KBlN0YXR1cxILCgdQRU5ESU5HEAASDwoLSU5fUFJPR1JFU1MQARILCgdTVUNDRVNTEAISCgoGRkFJTEVEEAMy0OMBCgVDb3ZlchJ3CgpPbmJvYXJkT3JnEiMuYmx1ZWFwaS5jb3Zlci52MS5PbmJvYXJkT3JnUmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuT25ib2FyZE9yZ1Jlc3BvbnNlIh6C0+STAhg6ASoiEy92MS9tZW1iZXJzL29uYm9hcmQSfwoMSW52aXRlTWVtYmVyEiUuYmx1ZWFwaS5jb3Zlci52MS5JbnZpdGVNZW1iZXJSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5JbnZpdGVNZW1iZXJSZXNwb25zZSIgiAIBgtPkkwIXOgEqIhIvdjEvbWVtYmVycy9pbnZpdGUSfgoMQWN0aXZhdGVVc2VyEiUuYmx1ZWFwaS5jb3Zlci52MS5BY3RpdmF0ZVVzZXJSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5BY3RpdmF0ZVVzZXJSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvbWVtYmVycy9hY3RpdmF0ZRJ4CgxDcmVhdGVNZW1iZXISJS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZU1lbWJlclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZU1lbWJlclJlc3BvbnNlIhmIAgGC0+STAhA6ASoiCy92MS9tZW1iZXJzEm8KCkdldE1lbWJlcnMSIy5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlcnNSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJzUmVzcG9uc2UiFogCAYLT5JMCDRILL3YxL21lbWJlcnMSigEKEEdldE1lbWJlckRldGFpbHMSKS5ibHVlYXBpLmNvdmVyLnYxLkdldE1lbWJlckRldGFpbHNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRNZW1iZXJEZXRhaWxzUmVzcG9uc2UiH4gCAYLT5JMCFhIUL3YxL21lbWJlcnMve3VzZXJJZH0SmgEKEkdldE1lbWJlckNvc3RHcm91cBIrLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyQ29zdEdyb3VwUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuR2V0TWVtYmVyQ29zdEdyb3VwUmVzcG9uc2UiKYgCAYLT5JMCIBIeL3YxL21lbWJlcnMve3VzZXJJZH0vY29zdGdyb3VwEqcBChZVcGRhdGVNZW1iZXJQZXJtaXNzaW9uEi8uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVNZW1iZXJQZXJtaXNzaW9uUmVxdWVzdBowLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlTWVtYmVyUGVybWlzc2lvblJlc3BvbnNlIiqIAgGC0+STAiE6ASoaHC92MS9tZW1iZXJzL3t1c2VySWR9L2lzYWRtaW4ScwoOR2V0VXNlckRldGFpbHMSJy5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJEZXRhaWxzUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlckRldGFpbHNSZXNwb25zZSIOgtPkkwIIEgYvdjEvbWUSgwEKEFVwZGF0ZVVzZXJBdmF0YXISKS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdmF0YXJSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXZhdGFyUmVzcG9uc2UiGILT5JMCEjoBKhoNL3YxL21lL2F2YXRhchJ7Cg5VcGRhdGVVc2VySWNvbhInLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckljb25SZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VySWNvblJlc3BvbnNlIhaC0+STAhA6ASoaCy92MS9tZS9pY29uEpMBChRVcGRhdGVVc2VyQ29sb3JUaGVtZRItLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckNvbG9yVGhlbWVSZXF1ZXN0Gi4uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQ29sb3JUaGVtZVJlc3BvbnNlIhyC0+STAhY6ASoaES92MS9tZS9jb2xvcnRoZW1lEnsKDlVwZGF0ZVVzZXJOYW1lEicuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyTmFtZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJOYW1lUmVzcG9uc2UiFoLT5JMCEDoBKhoLL3YxL21lL25hbWUSfwoPVXBkYXRlVXNlckVtYWlsEiguYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyRW1haWxSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyRW1haWxSZXNwb25zZSIXgtPkkwIROgEqGgwvdjEvbWUvZW1haWwSiwEKElVwZGF0ZVVzZXJNYWluVmlldxIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck1haW5WaWV3UmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlck1haW5WaWV3UmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL21lL21haW52aWV3EogBChFSZXNldFVzZXJQYXNzd29yZBIqLmJsdWVhcGkuY292ZXIudjEuUmVzZXRVc2VyUGFzc3dvcmRSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5SZXNldFVzZXJQYXNzd29yZFJlc3BvbnNlIhqC0+STAhQ6ASoiDy92MS9tZS9wYXNzd29yZBKDAQoQVXBkYXRlVXNlckxvY2FsZRIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlckxvY2FsZVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJMb2NhbGVSZXNwb25zZSIYgtPkkwISOgEqGg0vdjEvbWUvbG9jYWxlEosBChJVcGRhdGVVc2VyQXBwVGhlbWUSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBcHBUaGVtZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBcHBUaGVtZVJlc3BvbnNlIhqC0+STAhQ6ASoaDy92MS9tZS9hcHB0aGVtZRKLAQoSVXBkYXRlVXNlclRpbWV6b25lEisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyVGltZXpvbmVSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyVGltZXpvbmVSZXNwb25zZSIagtPkkwIUOgEqGg8vdjEvbWUvdGltZXpvbmUSkwEKFFVwZGF0ZVVzZXJBdHRyaWJ1dGVzEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyQXR0cmlidXRlc1JlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJBdHRyaWJ1dGVzUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL21lL2F0dHJpYnV0ZXMSewoMRGVsZXRlTWVtYmVyEiUuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVNZW1iZXJSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVNZW1iZXJSZXNwb25zZSIcgtPkkwIWKhQvdjEvbWVtYmVycy97dXNlcklkfRKGAQoNUmVzZXRQYXNzd29yZBImLmJsdWVhcGkuY292ZXIudjEuUmVzZXRQYXNzd29yZFJlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLlJlc2V0UGFzc3dvcmRSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvbWVtYmVycy9yZXNldHBhc3N3b3JkEm0KCkNyZWF0ZVZpZXcSIy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVZpZXdSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVWaWV3UmVzcG9uc2UiFILT5JMCDjoBKiIJL3YxL3ZpZXdzEmQKCEdldFZpZXdzEiEuYmx1ZWFwaS5jb3Zlci52MS5HZXRWaWV3c1JlcXVlc3QaIi5ibHVlYXBpLmNvdmVyLnYxLkdldFZpZXdzUmVzcG9uc2UiEYLT5JMCCxIJL3YxL3ZpZXdzEn8KDkdldEN1cnJlbnRWaWV3EicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDdXJyZW50Vmlld1JlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkdldEN1cnJlbnRWaWV3UmVzcG9uc2UiGoLT5JMCFBISL3YxL3ZpZXdzL3t2aWV3SWR9EoYBChBHZXRGYXZvcml0ZVZpZXdzEikuYmx1ZWFwaS5jb3Zlci52MS5HZXRGYXZvcml0ZVZpZXdzUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuR2V0RmF2b3JpdGVWaWV3c1Jlc3BvbnNlIhuC0+STAhUSEy92MS92aWV3cy9mYXZvcml0ZXMSeAoLUHVibGlzaFZpZXcSJC5ibHVlYXBpLmNvdmVyLnYxLlB1Ymxpc2hWaWV3UmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuUHVibGlzaFZpZXdSZXNwb25zZSIcgtPkkwIWOgEqIhEvdjEvdmlld3MvcHVibGlzaBJ9CgtBZGRGYXZvcml0ZRIkLmJsdWVhcGkuY292ZXIudjEuQWRkRmF2b3JpdGVSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5BZGRGYXZvcml0ZVJlc3BvbnNlIiGC0+STAhs6ASoaFi92MS92aWV3cy9mYXZvcml0ZS9hZGQSiQEKDlJlbW92ZUZhdm9yaXRlEicuYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVGYXZvcml0ZVJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZUZhdm9yaXRlUmVzcG9uc2UiJILT5JMCHjoBKhoZL3YxL3ZpZXdzL2Zhdm9yaXRlL3JlbW92ZRJ2CgpVcGRhdGVWaWV3EiMuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3UmVxdWVzdBokLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld1Jlc3BvbnNlIh2C0+STAhc6ASoaEi92MS92aWV3cy97dmlld0lkfRKPAQoQVXBkYXRlVmlld0xheW91dBIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0xheW91dFJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdMYXlvdXRSZXNwb25zZSIkgtPkkwIeOgEqGhkvdjEvdmlld3MvbGF5b3V0L3t2aWV3SWR9EpoBChBVcGRhdGVWaWV3V2lkZ2V0EikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3V2lkZ2V0UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld1dpZGdldFJlc3BvbnNlIi+C0+STAik6ASoaJC92MS92aWV3cy9sYXlvdXQve3ZpZXdJZH0ve3dpZGdldElkfRKfAQoUVXBkYXRlVmlld0NvbG9yVGhlbWUSLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVZpZXdDb2xvclRoZW1lUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVmlld0NvbG9yVGhlbWVSZXNwb25zZSIogtPkkwIiOgEqGh0vdjEvdmlld3Mve3ZpZXdJZH0vY29sb3J0aGVtZRKXAQoSVXBkYXRlVmlld0N1cnJlbmN5EisuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q3VycmVuY3lSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVWaWV3Q3VycmVuY3lSZXNwb25zZSImgtPkkwIgOgEqGhsvdjEvdmlld3Mve3ZpZXdJZH0vY3VycmVuY3kSnAEKFFNldE9yZ1VwZGF0ZUN1cnJlbmN5Ei0uYmx1ZWFwaS5jb3Zlci52MS5TZXRPcmdVcGRhdGVDdXJyZW5jeVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29yZ2FuaXphdGlvbnMvY3VycmVuY3kSmQEKFEdldE9yZ1VwZGF0ZUN1cnJlbmN5Ei0uYmx1ZWFwaS5jb3Zlci52MS5HZXRPcmdVcGRhdGVDdXJyZW5jeVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ1VwZGF0ZUN1cnJlbmN5UmVzcG9uc2UiIoLT5JMCHBIaL3YxL29yZ2FuaXphdGlvbnMvY3VycmVuY3kSjQEKEUxpc3RFeGNoYW5nZVJhdGVzEiouYmx1ZWFwaS5jb3Zlci52MS5MaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVzcG9uc2UiH4LT5JMCGRIXL3YxL29yZ2FuaXphdGlvbnMvcmF0ZXMScwoKRGVsZXRlVmlldxIjLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVmlld1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVZpZXdSZXNwb25zZSIagtPkkwIUKhIvdjEvdmlld3Mve3ZpZXdJZH0SnwEKE1VwZGF0ZVNpZGVNZW51U3RhdGUSLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNpZGVNZW51U3RhdGVSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVTaWRlTWVudVN0YXRlUmVzcG9uc2UiK4LT5JMCJToBKhogL3YxL3ZpZXdzL3t2aWV3SWR9L3NpZGVtZW51c3RhdGUSogEKE0FkZFNpZGVNZW51RmF2b3JpdGUSLC5ibHVlYXBpLmNvdmVyLnYxLkFkZFNpZGVNZW51RmF2b3JpdGVSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5BZGRTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL3ZpZXdzL3t2aWV3SWR9L3NpZGVtZW51ZmF2b3JpdGUSrQEKFlJlbW92ZVNpZGVNZW51RmF2b3JpdGUSLy5ibHVlYXBpLmNvdmVyLnYxLlJlbW92ZVNpZGVNZW51RmF2b3JpdGVSZXF1ZXN0GjAuYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVTaWRlTWVudUZhdm9yaXRlUmVzcG9uc2UiMILT5JMCKjoBKiIlL3YxL3ZpZXdzL3t2aWV3SWR9L3NpZGVtZW51dW5mYXZvcml0ZRKBAQoPQ3JlYXRlQ29zdEdyb3VwEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDb3N0R3JvdXBSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDb3N0R3JvdXBSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvY29zdGdyb3VwcxJ4Cg1HZXRDb3N0R3JvdXBzEiYuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBzUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3Vwc1Jlc3BvbnNlIhaC0+STAhASDi92MS9jb3N0Z3JvdXBzEngKDUdldENhdGVnb3JpZXMSJi5ibHVlYXBpLmNvdmVyLnYxLkdldENhdGVnb3JpZXNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDYXRlZ29yaWVzUmVzcG9uc2UiFoLT5JMCEBIOL3YxL2NhdGVnb3JpZXMSmAEKE0dldENvc3RHcm91cERldGFpbHMSLC5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cERldGFpbHNSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBEZXRhaWxzUmVzcG9uc2UiJILT5JMCHhIcL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfRKgAQoTVXBkYXRlQ29zdEdyb3VwTmFtZRIsLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwTmFtZVJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cE5hbWVSZXNwb25zZSIsgtPkkwImOgEqGiEvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L25hbWUSvAEKGlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uEjMuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBEZXNjcmlwdGlvblJlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cERlc2NyaXB0aW9uUmVzcG9uc2UiM4LT5JMCLToBKhooL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9kZXNjcmlwdGlvbhKkAQoUVXBkYXRlQ29zdEdyb3VwSW1hZ2USLS5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cEltYWdlUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSW1hZ2VSZXNwb25zZSItgtPkkwInOgEqGiIvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2ltYWdlEqABChNVcGRhdGVDb3N0R3JvdXBJY29uEiwuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDb3N0R3JvdXBJY29uUmVxdWVzdBotLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwSWNvblJlc3BvbnNlIiyC0+STAiY6ASoaIS92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vaWNvbhK4AQoZVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZRIyLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29sb3JUaGVtZVJlcXVlc3QaMy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENvbG9yVGhlbWVSZXNwb25zZSIygtPkkwIsOgEqGicvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2NvbG9ydGhlbWUSwAEKG1VwZGF0ZUNvc3RHcm91cENvbWJpbmF0aW9ucxI0LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVxdWVzdBo1LmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2UiNILT5JMCLjoBKhopL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfS9jb21iaW5hdGlvbnMSuwEKHFJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnMSNS5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVDb3N0R3JvdXBDb21iaW5hdGlvbnNSZXF1ZXN0GjYuYmx1ZWFwaS5jb3Zlci52MS5SZXNvbHZlQ29zdEdyb3VwQ29tYmluYXRpb25zUmVzcG9uc2UiLILT5JMCJhIkL3YxL2Nvc3Rncm91cHMvcmVzb2x2ZS97Y29zdEdyb3VwSWR9EqwBChVBc3NpZ25Db3N0R3JvdXBNZW1iZXISLi5ibHVlYXBpLmNvdmVyLnYxLkFzc2lnbkNvc3RHcm91cE1lbWJlclJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkFzc2lnbkNvc3RHcm91cE1lbWJlclJlc3BvbnNlIjKC0+STAiw6ASoiJy92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vbWVtYmVyL2FkZBKvAQoVUmVtb3ZlQ29zdEdyb3VwTWVtYmVyEi4uYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVDb3N0R3JvdXBNZW1iZXJSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5SZW1vdmVDb3N0R3JvdXBNZW1iZXJSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L21lbWJlci9yZW1vdmUSjAEKD0RlbGV0ZUNvc3RHcm91cBIoLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ29zdEdyb3VwUmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQ29zdEdyb3VwUmVzcG9uc2UiJILT5JMCHiocL3YxL2Nvc3Rncm91cHMve2Nvc3RHcm91cElkfRKmAQobR2V0QWNjb3VudEFjY2Vzc1RlbXBsYXRlVXJsEjQuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXF1ZXN0GjUuYmx1ZWFwaS5jb3Zlci52MS5HZXRBY2NvdW50QWNjZXNzVGVtcGxhdGVVcmxSZXNwb25zZSIagtPkkwIUEhIvdjEvYXdzL2FjY3RhY2Nlc3MSigEKEUxpc3RBY2NvdW50QWNjZXNzEiouYmx1ZWFwaS5jb3Zlci52MS5MaXN0QWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiJoLT5JMCIDoBKiIbL3YxL2F3cy9hY2N0YWNjZXNzL2FsbDpyZWFkMAESgwEKEEdldEFjY291bnRBY2Nlc3MSKS5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRBY2Nlc3NSZXF1ZXN0Gh8uYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50QWNjZXNzIiOC0+STAh0SGy92MS9hd3MvYWNjdGFjY2Vzcy97dGFyZ2V0fRJ8Cg1HZXREYXRhQWNjZXNzEi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbmREZWxldGVEYXRhQWNjZXNzUmVxdWVzdBocLmJsdWVhcGkuY292ZXIudjEuRGF0YUFjY2VzcyIcgtPkkwIWEhQvdjEvYWNjb3VudC97dGFyZ2V0fRJ5ChBEZWxldGVEYXRhQWNjZXNzEi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRBbmREZWxldGVEYXRhQWNjZXNzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIcgtPkkwIWKhQvdjEvYWNjb3VudC97dGFyZ2V0fRKDAQoTQ3JlYXRlQWNjb3VudEFjY2VzcxIsLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlQWNjb3VudEFjY2Vzc1JlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiHYLT5JMCFzoBKiISL3YxL2F3cy9hY2N0YWNjZXNzEpwBChtDcmVhdGVBY2NvdW50QWNjZXNzU3RhY2tzZXQSNC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFjY291bnRBY2Nlc3NTdGFja3NldFJlcXVlc3QaHy5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRBY2Nlc3MiJoLT5JMCIDoBKiIbL3YxL2F3cy9hY2N0YWNjZXNzL3N0YWNrc2V0EooBChZDcmVhdGVBY2NvdW50QWNjZXNzQ3VyEiwuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBY2NvdW50QWNjZXNzUmVxdWVzdBofLmJsdWVhcGkuY292ZXIudjEuQWNjb3VudEFjY2VzcyIhgtPkkwIbOgEqIhYvdjEvYXdzL2FjY3RhY2Nlc3MvY3VyEnsKE1VwZGF0ZUFjY291bnRBY2Nlc3MSLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIjgtPkkwIdGhsvdjEvYXdzL2FjY3RhY2Nlc3Mve3RhcmdldH0SkwEKE0RlbGV0ZUFjY291bnRBY2Nlc3MSLC5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFjY291bnRBY2Nlc3NSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVBY2NvdW50QWNjZXNzUmVzcG9uc2UiH4LT5JMCGSoXL3YxL2FjY3RhY2Nlc3Mve3RhcmdldH0SdAoPUmVnaXN0ZXJBY2NvdW50EiguYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3RlckFjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih+C0+STAhk6ASoiFC92MS97dmVuZG9yfS9hY2NvdW50EnEKElJlZ2lzdGVyRGF0YUFjY2VzcxIrLmJsdWVhcGkuY292ZXIudjEuUmVnaXN0ZXJEYXRhQWNjZXNzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIWgtPkkwIQOgEqIgsvdjEvYWNjb3VudBJwChFBZGRCaWxsaW5nQWNjb3VudBInLmJsdWVhcGkuY292ZXIudjEuQmlsbGluZ0FjY291bnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQ6ASoiDy92MS9iaWxsaW5nYWNjdBJ3Cg5MaXN0RGF0YUFjY2VzcxInLmJsdWVhcGkuY292ZXIudjEuTGlzdERhdGFBY2Nlc3NSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5EYXRhQWNjZXNzIhyC0+STAhYiFC92MS9hY2NvdW50L2FsbDpyZWFkMAESqAEKGExpc3RVbnJlZ2lzdGVyZWRBY2NvdW50cxIxLmJsdWVhcGkuY292ZXIudjEuTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuY292ZXIudjEuTGlzdFVucmVnaXN0ZXJlZEFjY291bnRzUmVzcG9uc2UiJYLT5JMCHyIdL3YxL2FjY291bnQvdW5yZWdpc3RlcmVkOnJlYWQSdgoQVXBkYXRlRGF0YUFjY2VzcxIpLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlRGF0YUFjY2Vzc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiH4LT5JMCGToBKhoUL3YxL2FjY291bnQve3RhcmdldH0SawoKTGlzdEFzc2V0cxIjLmJsdWVhcGkuY292ZXIudjEuTGlzdEFzc2V0c1JlcXVlc3QaGi5ibHVlYXBpLmNvdmVyLnYxLlJlc291cmNlIhqC0+STAhQ6ASoiDy92MS9hc3NldHM6cmVhZDABEpMBChBHZXRBc3NldHNTdW1tYXJ5EikuYmx1ZWFwaS5jb3Zlci52MS5HZXRBc3NldHNTdW1tYXJ5UmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuR2V0QXNzZXRzU3VtbWFyeVJlc3BvbnNlIiiC0+STAiISIC92MS9hc3NldHMvc3VtbWFyeS97Y29zdEdyb3VwSWR9EnIKDEdldENvc3RVc2FnZRIlLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdFVzYWdlUmVxdWVzdBoaLmJsdWVhcGkuY292ZXIudjEuQ29zdEl0ZW0iHYLT5JMCFzoBKiISL3YxL2Nvc3R1c2FnZTpyZWFkMAESwgEKHEdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb24SNS5ibHVlYXBpLmNvdmVyLnYxLkdldFJpZ2h0U2l6aW5nUmVjb21tZW5kYXRpb25SZXF1ZXN0GjYuYmx1ZWFwaS5jb3Zlci52MS5HZXRSaWdodFNpemluZ1JlY29tbWVuZGF0aW9uUmVzcG9uc2UiM4LT5JMCLRIrL3YxL3JpZ2h0c2l6aW5ncmVjb21tZW5kYXRpb24ve2Nvc3RHcm91cElkfRKYAQoSTW9kaWZ5UmVzb3VyY2VUeXBlEisuYmx1ZWFwaS5jb3Zlci52MS5Nb2RpZnlSZXNvdXJjZVR5cGVSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5Nb2RpZnlSZXNvdXJjZVR5cGVSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEve3ZlbmRvcn0vcmVzb3VyY2UvbW9kaWZ5EpgBChFUZXJtaW5hdGVSZXNvdXJjZRIqLmJsdWVhcGkuY292ZXIudjEuVGVybWluYXRlUmVzb3VyY2VSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5UZXJtaW5hdGVSZXNvdXJjZVJlc3BvbnNlIiqC0+STAiQ6ASoiHy92MS97dmVuZG9yfS9yZXNvdXJjZS90ZXJtaW5hdGUSjQEKEFVwbG9hZENoYXJnZUNvZGUSKS5ibHVlYXBpLmNvdmVyLnYxLlVwbG9hZENoYXJnZUNvZGVSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5VcGxvYWRDaGFyZ2VDb2RlUmVzcG9uc2UiIILT5JMCGjoBKiIVL3YxL2NoYXJnZWNvZGUvdXBsb2FkKAESegoLQXNzaWduUGF5ZXISJC5ibHVlYXBpLmNvdmVyLnYxLkFzc2lnblBheWVyUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuQXNzaWduUGF5ZXJSZXNwb25zZSIegtPkkwIYOgEqIhMvdjEve3ZlbmRvcn0vcGF5ZXJzEnEKCUdldFBheWVycxIiLmJsdWVhcGkuY292ZXIudjEuR2V0UGF5ZXJzUmVxdWVzdBojLmJsdWVhcGkuY292ZXIudjEuR2V0UGF5ZXJzUmVzcG9uc2UiG4LT5JMCFRITL3YxL3t2ZW5kb3J9L3BheWVycxKHAQoLR2V0QWNjb3VudHMSJC5ibHVlYXBpLmNvdmVyLnYxLkdldEFjY291bnRzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuR2V0QWNjb3VudHNSZXNwb25zZSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vYWNjb3VudHMve2Nvc3RHcm91cElkfRKHAQoLR2V0U2VydmljZXMSJC5ibHVlYXBpLmNvdmVyLnYxLkdldFNlcnZpY2VzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuR2V0U2VydmljZXNSZXNwb25zZSIrgtPkkwIlEiMvdjEve3ZlbmRvcn0vc2VydmljZXMve2Nvc3RHcm91cElkfRKDAQoKR2V0UmVnaW9ucxIjLmJsdWVhcGkuY292ZXIudjEuR2V0UmVnaW9uc1JlcXVlc3QaJC5ibHVlYXBpLmNvdmVyLnYxLkdldFJlZ2lvbnNSZXNwb25zZSIqgtPkkwIkEiIvdjEve3ZlbmRvcn0vcmVnaW9ucy97Y29zdEdyb3VwSWR9EncKB0dldFRhZ3MSIC5ibHVlYXBpLmNvdmVyLnYxLkdldFRhZ3NSZXF1ZXN0GiEuYmx1ZWFwaS5jb3Zlci52MS5HZXRUYWdzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL3t2ZW5kb3J9L3RhZ3Mve2Nvc3RHcm91cElkfRJ3CghMaXN0RmVlcxIhLmJsdWVhcGkuY292ZXIudjEuTGlzdEZlZXNSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5GZWVEZXRhaWxzIiiC0+STAiI6ASoiHS92MS9hbGxvY2F0aW9ucy9mZWVzL2FsbDpyZWFkMAESegoKUmVzdG9yZUZlZRIjLmJsdWVhcGkuY292ZXIudjEuUmVzdG9yZUZlZVJlcXVlc3QaHC5ibHVlYXBpLmNvdmVyLnYxLkZlZURldGFpbHMiJ4LT5JMCIToBKiIcL3YxL2FsbG9jYXRpb25zL2ZlZXMvcmVzdG9yZTABEn4KD0dldENvc3RHcm91cEZlZRIoLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEdyb3VwRmVlUmVxdWVzdBoZLmJsdWVhcGkuY292ZXIudjEuRmVlSXRlbSIkgtPkkwIeOgEqIhkvdjEvYWxsb2NhdGlvbnMvZmVlczpyZWFkMAESewoOTGlzdEFsbG9jYXRvcnMSJy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBbGxvY2F0b3JzUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvckRldGFpbHMiFoLT5JMCEBIOL3YxL2FsbG9jYXRvcnMwARJ+Cg9DcmVhdGVBbGxvY2F0b3ISKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RBbGxvY2F0b3JEZXRhaWxzIhmC0+STAhM6ASoiDi92MS9hbGxvY2F0b3JzEqABChdHZXRBbGxvY2F0aW9uQXR0cmlidXRlcxIwLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvbkF0dHJpYnV0ZXNSZXF1ZXN0GjEuYmx1ZWFwaS5jb3Zlci52MS5HZXRBbGxvY2F0aW9uQXR0cmlidXRlc1Jlc3BvbnNlIiCC0+STAhoSGC92MS9hbGxvY2F0b3JzL2F0dHJpYnV0ZRKUAQoUR2V0QWxsb2NhdGlvblNvdXJjZXMSLS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsbG9jYXRpb25Tb3VyY2VzUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuR2V0QWxsb2NhdGlvblNvdXJjZXNSZXNwb25zZSIdgtPkkwIXEhUvdjEvYWxsb2NhdG9ycy9zb3VyY2USgQEKD1VwZGF0ZUFsbG9jYXRvchImLmJsdWVhcGkuY292ZXIudjEuQ29zdEFsbG9jYXRvclJlcXVlc3QaJi5ibHVlYXBpLmNvdmVyLnYxLkNvc3RBbGxvY2F0b3JEZXRhaWxzIh6C0+STAhg6ASoaEy92MS9hbGxvY2F0b3JzL3tpZH0ScAoPRGVsZXRlQWxsb2NhdG9yEiguYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVBbGxvY2F0b3JSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhuC0+STAhUqEy92MS9hbGxvY2F0b3JzL3tpZH0SkAEKFVByb3h5Q3JlYXRlQ29tcGxldGlvbhIuLmJsdWVhcGkuY292ZXIudjEuUHJveHlDcmVhdGVDb21wbGV0aW9uUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuUHJveHlDcmVhdGVDb21wbGV0aW9uUmVzcG9uc2UiFILT5JMCDjoBKiIJL3YxL3gvcGNjMAESigEKFFNpbXVsYXRlRmVlQWxsb2NhdG9yEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGxvY2F0b3JSZXF1ZXN0GhwuYmx1ZWFwaS5jb3Zlci52MS5GZWVEZXRhaWxzIiiC0+STAiI6ASoiHS92MS9hbGxvY2F0aW9ucy9mZWVzL3NpbXVsYXRlMAESmAEKEExpc3RBY2NvdW50VXNhZ2USKS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBY2NvdW50VXNhZ2VSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50VXNhZ2VEZXRhaWxzIjCC0+STAio6ASoiJS92MS9hbGxvY2F0aW9ucy9hY2NvdW50dXNhZ2UvYWxsOnJlYWQwARKdAQoTUmVzdG9yZUFjY291bnRVc2FnZRIsLmJsdWVhcGkuY292ZXIudjEuUmVzdG9yZUFjY291bnRVc2FnZVJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkFjY291bnRVc2FnZURldGFpbHMiL4LT5JMCKToBKiIkL3YxL2FsbG9jYXRpb25zL2FjY291bnR1c2FnZS9yZXN0b3JlMAESmwEKFFNpbXVsYXRlQWNjb3VudFVzYWdlEiguYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGxvY2F0b3JSZXF1ZXN0GiUuYmx1ZWFwaS5jb3Zlci52MS5BY2NvdW50VXNhZ2VEZXRhaWxzIjCC0+STAio6ASoiJS92MS9hbGxvY2F0aW9ucy9hY2NvdW50dXNhZ2Uvc2ltdWxhdGUwARKBAQoLTGlzdFNhdmluZ3MSIS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RGZWVzUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuU2F2aW5nc0RldGFpbHMiK4LT5JMCJToBKiIgL3YxL2FsbG9jYXRpb25zL3NhdmluZ3MvYWxsOnJlYWQwARKJAQoOUmVzdG9yZVNhdmluZ3MSJy5ibHVlYXBpLmNvdmVyLnYxLlJlc3RvcmVTYXZpbmdzUmVxdWVzdBogLmJsdWVhcGkuY292ZXIudjEuU2F2aW5nc0RldGFpbHMiKoLT5JMCJDoBKiIfL3YxL2FsbG9jYXRpb25zL3NhdmluZ3MvcmVzdG9yZTABEowBCg9TaW11bGF0ZVNhdmluZ3MSKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsbG9jYXRvclJlcXVlc3QaIC5ibHVlYXBpLmNvdmVyLnYxLlNhdmluZ3NEZXRhaWxzIiuC0+STAiU6ASoiIC92MS9hbGxvY2F0aW9ucy9zYXZpbmdzL3NpbXVsYXRlMAESjgEKFkdldENvc3RHcm91cEFsbG9jYXRpb24SLy5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RHcm91cEFsbG9jYXRpb25SZXF1ZXN0GiAuYmx1ZWFwaS5jb3Zlci52MS5BbGxvY2F0aW9uSXRlbSIfgtPkkwIZOgEqIhQvdjEvYWxsb2NhdGlvbnM6cmVhZDABEocBChBQcm9jZXNzQXV0aDBVc2VyEikuYmx1ZWFwaS5jb3Zlci52MS5Qcm9jZXNzQXV0aDBVc2VyUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuUHJvY2Vzc0F1dGgwVXNlclJlc3BvbnNlIhyC0+STAhY6ASoiES92MS9tZW1iZXJzL2F1dGgwEpsBChtBZGRQYXJ0bmVyQ2VudGVyQ3JlZGVudGlhbHMSNC5ibHVlYXBpLmNvdmVyLnYxLkFkZFBhcnRuZXJDZW50ZXJDcmVkZW50aWFsc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKDoBKiIjL3YxL2F6dXJlL2NyZWRlbnRpYWxzL3BhcnRuZXJjZW50ZXISdQoNQWRkTXBuU2V0dGluZxImLmJsdWVhcGkuY292ZXIudjEuQWRkTXBuU2V0dGluZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHjoBKiIZL3YxL2F6dXJlL2NyZWRlbnRpYWxzL21wbhKTAQoVR2V0Q29zdEdyb3VwQXR0cmlidXRlEi4uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBBdHRyaWJ1dGVSZXF1ZXN0Gi8uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0R3JvdXBBdHRyaWJ1dGVSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvYXR0cmlidXRlcxJvCglHZXRBbGVydHMSIi5ibHVlYXBpLmNvdmVyLnYxLkdldEFsZXJ0c1JlcXVlc3QaIy5ibHVlYXBpLmNvdmVyLnYxLkdldEFsZXJ0c1Jlc3BvbnNlIheC0+STAhESDy92MS9hbGVydHMvY29zdDABEnYKC0NyZWF0ZUFsZXJ0EiQuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVBbGVydFJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFsZXJ0UmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL2FsZXJ0cy9jb3N0EoQBCg9HZXRBbGVydERldGFpbHMSKC5ibHVlYXBpLmNvdmVyLnYxLkdldEFsZXJ0RGV0YWlsc1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkdldEFsZXJ0RGV0YWlsc1Jlc3BvbnNlIhyC0+STAhYSFC92MS9hbGVydHMvY29zdC97aWR9EngKC0RlbGV0ZUFsZXJ0EiQuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVBbGVydFJlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUFsZXJ0UmVzcG9uc2UiHILT5JMCFioUL3YxL2FsZXJ0cy9jb3N0L3tpZH0SkAEKElVwZGF0ZUFsZXJ0RGV0YWlscxIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQWxlcnREZXRhaWxzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQWxlcnREZXRhaWxzUmVzcG9uc2UiH4LT5JMCGToBKhoUL3YxL2FsZXJ0cy9jb3N0L3tpZH0SegoLR2V0Q2hhbm5lbHMSJC5ibHVlYXBpLmNvdmVyLnYxLkdldENoYW5uZWxzUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbHNSZXNwb25zZSIcgtPkkwIWOgEqIhEvdjEvY2hhbm5lbHM6cmVhZDABEnkKDUNyZWF0ZUNoYW5uZWwSJi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNoYW5uZWxSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVDaGFubmVsUmVzcG9uc2UiF4LT5JMCEToBKiIML3YxL2NoYW5uZWxzEocBChFHZXRDaGFubmVsRGV0YWlscxIqLmJsdWVhcGkuY292ZXIudjEuR2V0Q2hhbm5lbERldGFpbHNSZXF1ZXN0GisuYmx1ZWFwaS5jb3Zlci52MS5HZXRDaGFubmVsRGV0YWlsc1Jlc3BvbnNlIhmC0+STAhMSES92MS9jaGFubmVscy97aWR9EnsKDURlbGV0ZUNoYW5uZWwSJi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZUNoYW5uZWxSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDaGFubmVsUmVzcG9uc2UiGYLT5JMCEyoRL3YxL2NoYW5uZWxzL3tpZH0SkwEKFFVwZGF0ZUNoYW5uZWxEZXRhaWxzEi0uYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVDaGFubmVsRGV0YWlsc1JlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNoYW5uZWxEZXRhaWxzUmVzcG9uc2UiHILT5JMCFjoBKhoRL3YxL2NoYW5uZWxzL3tpZH0SoAEKGkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zEjMuYmx1ZWFwaS5jb3Zlci52MS5HZXREaXNjb3VudFJlY29tbWVuZGF0aW9uc1JlcXVlc3QaNC5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UmVjb21tZW5kYXRpb25zUmVzcG9uc2UiF4LT5JMCEToBKiIML3YxL2Rpc2NvdW50EoABChVHZXRBbm9tYWx5aW5Db3N0R3JvdXASLi5ibHVlYXBpLmNvdmVyLnYxLkdldEFub21hbHlpbkNvc3RHcm91cFJlcXVlc3QaHS5ibHVlYXBpLmNvdmVyLnYxLkFub21hbHlEYXRhIhaC0+STAhA6ASoiCy92MS9hbm9tYWx5MAESlgEKHUNyZWF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjYuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHzoBKiIaL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQSmwEKHVVwZGF0ZURpc2NvdW50RXhwaXJhdGlvbkFsZXJ0EjYuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKhofL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQve2lkfRKsAQoaR2V0RGlzY291bnRFeHBpcmF0aW9uQWxlcnQSOi5ibHVlYXBpLmNvdmVyLnYxLk1hbmlwdWxhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkRpc2NvdW50RXhwaXJ5QWxlcnREYXRhIieC0+STAiESHy92MS9hbGVydHMvZXhwaXJlL2Rpc2NvdW50L3tpZH0SrQEKG0xpc3REaXNjb3VudEV4cGlyYXRpb25BbGVydBI0LmJsdWVhcGkuY292ZXIudjEuTGlzdERpc2NvdW50RXhwaXJhdGlvbkFsZXJ0UmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuRGlzY291bnRFeHBpcnlBbGVydERhdGEiK4LT5JMCJSIjL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQvYWxsOnJlYWQwARKcAQodRGVsZXRlRGlzY291bnRFeHBpcmF0aW9uQWxlcnQSOi5ibHVlYXBpLmNvdmVyLnYxLk1hbmlwdWxhdGVEaXNjb3VudEV4cGlyYXRpb25BbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJ4LT5JMCISofL3YxL2FsZXJ0cy9leHBpcmUvZGlzY291bnQve2lkfRJ4ChJDcmVhdGVBbm9tYWx5QWxlcnQSKy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUFub21hbHlBbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHYLT5JMCFzoBKiISL3YxL2FsZXJ0cy9hbm9tYWx5En4KEkRlbGV0ZUFub21hbHlBbGVydBIvLmJsdWVhcGkuY292ZXIudjEuTWFuaXB1bGF0ZUFub21hbHlBbGVydFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiH4LT5JMCGSoXL3YxL2FsZXJ0cy9hbm9tYWx5L3tpZH0SiAEKEExpc3RBbm9tYWx5QWxlcnQSKS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RBbm9tYWx5QWxlcnRSZXF1ZXN0GiIuYmx1ZWFwaS5jb3Zlci52MS5Bbm9tYWx5QWxlcnREYXRhIiOC0+STAh0iGy92MS9hbGVydHMvYW5vbWFseS9hbGw6cmVhZDABEocBCg9HZXRBbm9tYWx5QWxlcnQSLy5ibHVlYXBpLmNvdmVyLnYxLk1hbmlwdWxhdGVBbm9tYWx5QWxlcnRSZXF1ZXN0GiIuYmx1ZWFwaS5jb3Zlci52MS5Bbm9tYWx5QWxlcnREYXRhIh+C0+STAhkSFy92MS9hbGVydHMvYW5vbWFseS97aWR9En0KElVwZGF0ZUFub21hbHlBbGVydBIrLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQW5vbWFseUFsZXJ0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcOgEqGhcvdjEvYWxlcnRzL2Fub21hbHkve2lkfRKHAQoPUmVnaXN0ZXJOZXdVc2VyEiguYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3Rlck5ld1VzZXJSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5SZWdpc3Rlck5ld1VzZXJSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvbWVtYmVycy9yZWdpc3RlchKIAQoOR2V0VXNlclByb2ZpbGUSJy5ibHVlYXBpLmNvdmVyLnYxLkdldFVzZXJQcm9maWxlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlclByb2ZpbGVSZXNwb25zZSIjgtPkkwIdEhsvdjEvbWVtYmVycy9wcm9maWxlL3tlbWFpbH0SlAEKEVVwZGF0ZVVzZXJQcm9maWxlEiouYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVzcG9uc2UiJoLT5JMCIDoBKhobL3YxL21lbWJlcnMvcHJvZmlsZS97ZW1haWx9EngKC0xpc3RCdWRnZXRzEiQuYmx1ZWFwaS5jb3Zlci52MS5MaXN0QnVkZ2V0c1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RCdWRnZXRzUmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL2J1ZGdldDpyZWFkMAESbQoJR2V0QnVkZ2V0EiIuYmx1ZWFwaS5jb3Zlci52MS5HZXRCdWRnZXRSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5HZXRCdWRnZXRSZXNwb25zZSIXgtPkkwIREg8vdjEvYnVkZ2V0L3tpZH0SdAoMQ3JlYXRlQnVkZ2V0EiUuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVCdWRnZXRSZXF1ZXN0GiYuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVCdWRnZXRSZXNwb25zZSIVgtPkkwIPOgEqIgovdjEvYnVkZ2V0EnYKDERlbGV0ZUJ1ZGdldBIlLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQnVkZ2V0UmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlQnVkZ2V0UmVzcG9uc2UiF4LT5JMCESoPL3YxL2J1ZGdldC97aWR9EnkKDFVwZGF0ZUJ1ZGdldBIlLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQnVkZ2V0UmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQnVkZ2V0UmVzcG9uc2UiGoLT5JMCFDoBKhoPL3YxL2J1ZGdldC97aWR9EtcBCidSZXNvbHZlQVdTTWFya2V0cGxhY2VUb2tlbkZvck9uYm9hcmRpbmcSQC5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZ1JlcXVlc3QaQS5ibHVlYXBpLmNvdmVyLnYxLlJlc29sdmVBV1NNYXJrZXRwbGFjZVRva2VuRm9yT25ib2FyZGluZ1Jlc3BvbnNlIieC0+STAiE6ASoiHC92MS9tZW1iZXJzL2F3cy9zdWJzY3JpcHRpb24SrAEKHUdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzEjYuYmx1ZWFwaS5jb3Zlci52MS5HZXRDdXN0b21lclN1YnNjcmlwdGlvblN0YXR1c1JlcXVlc3QaNy5ibHVlYXBpLmNvdmVyLnYxLkdldEN1c3RvbWVyU3Vic2NyaXB0aW9uU3RhdHVzUmVzcG9uc2UiGoLT5JMCFBISL3YxL2JpbGxpbmcvc3RhdHVzEoYBCg9DcmVhdGVQcm9maWxpbmcSKC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVByb2ZpbGluZ1JlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVByb2ZpbGluZ1Jlc3BvbnNlIh6C0+STAhg6ASoiEy92MS9tZW1iZXJzL3Byb2ZpbGUSlgEKFEFkZEluZm90b01hcmtldHBsYWNlEi0uYmx1ZWFwaS5jb3Zlci52MS5BZGRJbmZvdG9NYXJrZXRwbGFjZVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLkFkZEluZm90b01hcmtldHBsYWNlUmVzcG9uc2UiH4LT5JMCGToBKiIUL3YxL21hcmtldHBsYWNlL2luZm8SnAEKEEdldFJlcG9ydFN1bW1hcnkSKS5ibHVlYXBpLmNvdmVyLnYxLkdldFJlcG9ydFN1bW1hcnlSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5HZXRSZXBvcnRTdW1tYXJ5UmVzcG9uc2UiMYLT5JMCKxIpL3YxL3JlcG9ydHMvaW5zaWdodC9zdW1tYXJ5L3tjb3N0R3JvdXBJZH0SnAEKE0xpc3RSZWNvbW1lbmRhdGlvbnMSKy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvblJlc3BvbnNlIiiC0+STAiISIC92MS9yZWNvbW1lbmRhdGlvbnMvb3B0aW1pemF0aW9uMAESnwEKFUxpc3RSZWNvbW1lbmRhdGlvbnNWMhItLmJsdWVhcGkuY292ZXIudjEuTGlzdFJlY29tbWVuZGF0aW9uVjJSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5MaXN0UmVjb21tZW5kYXRpb25SZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvcmVjb21tZW5kYXRpb25zL2FsbDpyZWFkMAESmwEKEUdldFJlY29tbWVuZGF0aW9uEiouYmx1ZWFwaS5jb3Zlci52MS5HZXRSZWNvbW1lbmRhdGlvblJlcXVlc3QaKy5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uUmVzcG9uc2UiLYLT5JMCJxIlL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24ve2lkfRKcAQoTR2V0UmVjb21tZW5kYXRpb25WMhIsLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WMlJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uVjJSZXNwb25zZSIogtPkkwIiEiAvdjEvcmVjb21tZW5kYXRpb25zL2RldGFpbHMve2lkfRKaAQoTRXhlY3V0ZU9wdGltaXphdGlvbhIsLmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZU9wdGltaXphdGlvblJlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkV4ZWN1dGVPcHRpbWl6YXRpb25SZXNwb25zZSImgtPkkwIgOgEqIhsvdjEvcmVjb21tZW5kYXRpb25zL2V4ZWN1dGUSnQEKEkdldEV4ZWN1dGlvblN0YXR1cxIrLmJsdWVhcGkuY292ZXIudjEuR2V0RXhlY3V0aW9uU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuY292ZXIudjEuR2V0RXhlY3V0aW9uU3RhdHVzUmVzcG9uc2UiKoLT5JMCJBIiL3YxL3JlY29tbWVuZGF0aW9ucy9leGVjdXRlL3N0YXR1czABEpkBCg5NYXJrQXNFeGVjdXRlZBInLmJsdWVhcGkuY292ZXIudjEuTWFya0FzRXhlY3V0ZWRSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5NYXJrQXNFeGVjdXRlZFJlc3BvbnNlIjSC0+STAi46ASoiKS92MS9yZWNvbW1lbmRhdGlvbnMvb3B0aW1pemF0aW9uL2V4ZWN1dGVkErkBChpVbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvbhIzLmJsdWVhcGkuY292ZXIudjEuVW5kb0V4ZWN1dGVkUmVjb21tZW5kYXRpb25SZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5VbmRvRXhlY3V0ZWRSZWNvbW1lbmRhdGlvblJlc3BvbnNlIjCC0+STAio6ASoiJS92MS9yZWNvbW1lbmRhdGlvbnMvb3B0aW1pemF0aW9uL3VuZG8SpAEKE09wdGltaXphdGlvbkhpc3RvcnkSLC5ibHVlYXBpLmNvdmVyLnYxLk9wdGltaXphdGlvbkhpc3RvcnlSZXF1ZXN0Gi0uYmx1ZWFwaS5jb3Zlci52MS5PcHRpbWl6YXRpb25IaXN0b3J5UmVzcG9uc2UiMILT5JMCKhIoL3YxL3JlY29tbWVuZGF0aW9ucy9vcHRpbWl6YXRpb24vaGlzdG9yeRK/AQoaU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3ISMy5ibHVlYXBpLmNvdmVyLnYxLlNldENvc3RHcm91cEV2ZW50SW5kaWNhdG9yUmVxdWVzdBo0LmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwRXZlbnRJbmRpY2F0b3JSZXNwb25zZSI2gtPkkwIwOgEqIisvdjEvY29zdGdyb3Vwcy97Y29zdEdyb3VwSWR9L2V2ZW50SW5kaWNhdG9yErgBChpTZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9ucxIzLmJsdWVhcGkuY292ZXIudjEuU2V0Q29zdEdyb3VwQW5vbWFseU9wdGlvbnNSZXF1ZXN0GjQuYmx1ZWFwaS5jb3Zlci52MS5TZXRDb3N0R3JvdXBBbm9tYWx5T3B0aW9uc1Jlc3BvbnNlIi+C0+STAik6ASoiJC92MS9jb3N0Z3JvdXBzL3tjb3N0R3JvdXBJZH0vYW5vbWFseRKQAQoRU2V0T3JnRmlzY2FsTW9udGgSKi5ibHVlYXBpLmNvdmVyLnYxLlNldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuU2V0T3JnRmlzY2FsTW9udGhSZXNwb25zZSIigtPkkwIcOgEqIhcvdjEvcmVwb3J0cy9maXNjYWxtb250aBKNAQoRR2V0T3JnRmlzY2FsTW9udGgSKi5ibHVlYXBpLmNvdmVyLnYxLkdldE9yZ0Zpc2NhbE1vbnRoUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0T3JnRmlzY2FsTW9udGhSZXNwb25zZSIfgtPkkwIZEhcvdjEvcmVwb3J0cy9maXNjYWxtb250aBKiAQoUVHJhbnNmZXJPcmdhbml6YXRpb24SLS5ibHVlYXBpLmNvdmVyLnYxLlRyYW5zZmVyT3JnYW5pemF0aW9uUmVxdWVzdBouLmJsdWVhcGkuY292ZXIudjEuVHJhbnNmZXJPcmdhbml6YXRpb25SZXNwb25zZSIrgtPkkwIlEiMvdjEvb3JnYW5pemF0aW9ucy90cmFuc2Zlci97dGFyZ2V0fRKpAQoZVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSRIyLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlQ29zdEdyb3VwQ3JlYXRpb25VSVJlcXVlc3QaMy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RHcm91cENyZWF0aW9uVUlSZXNwb25zZSIjgtPkkwIdOgEqGhgvdjEvbWUvY29zdGdyb3VwY3JlYXRpb24SdgoNTGlzdFVuaXRUeXBlcxImLmJsdWVhcGkuY292ZXIudjEuTGlzdFVuaXRUeXBlc1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbml0VHlwZXNSZXNwb25zZSIUgtPkkwIOEgwvdjEvdW5pdGNvc3QSfAoOQ3JlYXRlVW5pdFR5cGUSJy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRUeXBlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdFR5cGVSZXNwb25zZSIXgtPkkwIROgEqIgwvdjEvdW5pdGNvc3QSdQoLR2V0VW5pdFR5cGUSJC5ibHVlYXBpLmNvdmVyLnYxLkdldFVuaXRUeXBlUmVxdWVzdBolLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdFR5cGVSZXNwb25zZSIZgtPkkwITEhEvdjEvdW5pdGNvc3Qve2lkfRKBAQoOVXBkYXRlVW5pdFR5cGUSJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVuaXRUeXBlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdFR5cGVSZXNwb25zZSIcgtPkkwIWOgEqGhEvdjEvdW5pdGNvc3Qve2lkfRJ+Cg5EZWxldGVVbml0VHlwZRInLmJsdWVhcGkuY292ZXIudjEuRGVsZXRlVW5pdFR5cGVSZXF1ZXN0GiguYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0VHlwZVJlc3BvbnNlIhmC0+STAhMqES92MS91bml0Y29zdC97aWR9EnYKCk1lcmdlVW5pdHMSIy5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlVW5pdHNSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5NZXJnZVVuaXRzUmVzcG9uc2UiHYLT5JMCFzoBKiISL3YxL3VuaXRjb3N0L21lcmdlEpEBChJMaXN0U3VnZ2VzdGVkVW5pdHMSKy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RTdWdnZXN0ZWRVbml0c1JlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkxpc3RTdWdnZXN0ZWRVbml0c1Jlc3BvbnNlIiCC0+STAhoSGC92MS91bml0Y29zdC9hdXRvc3VnZ2VzdBKdAQoTTWVyZ2VTdWdnZXN0ZWRVbml0cxIsLmJsdWVhcGkuY292ZXIudjEuTWVyZ2VTdWdnZXN0ZWRVbml0c1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLk1lcmdlU3VnZ2VzdGVkVW5pdHNSZXNwb25zZSIpgtPkkwIjOgEqIh4vdjEvdW5pdGNvc3QvYXV0b3N1Z2dlc3QvbWVyZ2USqgEKF0NyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkEjAuYmx1ZWFwaS5jb3Zlci52MS5DcmVhdGVVbml0RnJvbVN1Z2dlc3RlZFJlcXVlc3QaMS5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRGcm9tU3VnZ2VzdGVkUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL3VuaXRjb3N0L2F1dG9zdWdnZXN0L2NyZWF0ZRKYAQoTTGlzdFNoYXJlZFJlc291cmNlcxIsLmJsdWVhcGkuY292ZXIudjEuTGlzdFNoYXJlZFJlc291cmNlc1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkxpc3RTaGFyZWRSZXNvdXJjZXNSZXNwb25zZSIkgtPkkwIeEhwvdjEvdW5pdGNvc3Qvc2hhcmVkcmVzb3VyY2VzEqABChRDcmVhdGVTaGFyZWRSZXNvdXJjZRIuLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlU2hhcmVkUmVzb3VyY2VzUmVzcG9uc2UiJ4LT5JMCIToBKiIcL3YxL3VuaXRjb3N0L3NoYXJlZHJlc291cmNlcxKZAQoRR2V0U2hhcmVkUmVzb3VyY2USKy5ibHVlYXBpLmNvdmVyLnYxLkdldFNoYXJlZFJlc291cmNlc1JlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkdldFNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIimC0+STAiMSIS92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMve2lkfRKlAQoUVXBkYXRlU2hhcmVkUmVzb3VyY2USLi5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIiyC0+STAiY6ASoaIS92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMve2lkfRKiAQoURGVsZXRlU2hhcmVkUmVzb3VyY2USLi5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVNoYXJlZFJlc291cmNlc1JlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVNoYXJlZFJlc291cmNlc1Jlc3BvbnNlIimC0+STAiMqIS92MS91bml0Y29zdC9zaGFyZWRyZXNvdXJjZXMve2lkfRKEAQoPTGlzdFVuaXRNZXRyaWNzEiguYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdE1ldHJpY3NSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VW5pdE1ldHJpY3NSZXNwb25zZSIcgtPkkwIWEhQvdjEvdW5pdGNvc3QvbWV0cmljcxKKAQoQQ3JlYXRlVW5pdE1ldHJpYxIpLmJsdWVhcGkuY292ZXIudjEuQ3JlYXRlVW5pdE1ldHJpY1JlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZVVuaXRNZXRyaWNSZXNwb25zZSIfgtPkkwIZOgEqIhQvdjEvdW5pdGNvc3QvbWV0cmljcxKDAQoNR2V0VW5pdE1ldHJpYxImLmJsdWVhcGkuY292ZXIudjEuR2V0VW5pdE1ldHJpY1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLkdldFVuaXRNZXRyaWNSZXNwb25zZSIhgtPkkwIbEhkvdjEvdW5pdGNvc3QvbWV0cmljcy97aWR9Eo8BChBVcGRhdGVVbml0TWV0cmljEikuYmx1ZWFwaS5jb3Zlci52MS5VcGRhdGVVbml0TWV0cmljUmVxdWVzdBoqLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVW5pdE1ldHJpY1Jlc3BvbnNlIiSC0+STAh46ASoaGS92MS91bml0Y29zdC9tZXRyaWNzL3tpZH0SjAEKEERlbGV0ZVVuaXRNZXRyaWMSKS5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVuaXRNZXRyaWNSZXF1ZXN0GiouYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVbml0TWV0cmljUmVzcG9uc2UiIYLT5JMCGyoZL3YxL3VuaXRjb3N0L21ldHJpY3Mve2lkfRK2AQoYQ29uZmlybUdvb2dsZVNoZWV0QWNjZXNzEjEuYmx1ZWFwaS5jb3Zlci52MS5Db25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXF1ZXN0GjIuYmx1ZWFwaS5jb3Zlci52MS5Db25maXJtR29vZ2xlU2hlZXRBY2Nlc3NSZXNwb25zZSIzgtPkkwItOgEqIigvdjEvdW5pdGNvc3QvbWV0cmljcy9nb29nbGVzaGVldC9jb25maXJtEqQBChJQcmV2aWV3R29vZ2xlU2hlZXQSKy5ibHVlYXBpLmNvdmVyLnYxLlByZXZpZXdHb29nbGVTaGVldFJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlByZXZpZXdHb29nbGVTaGVldFJlc3BvbnNlIjOC0+STAi06ASoiKC92MS91bml0Y29zdC9tZXRyaWNzL2dvb2dsZXNoZWV0L3ByZXZpZXcSqgEKFUdldENsb3Vkd2F0Y2hNZXRhZGF0YRIuLmJsdWVhcGkuY292ZXIudjEuR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVxdWVzdBovLmJsdWVhcGkuY292ZXIudjEuR2V0Q2xvdWR3YXRjaE1ldGFkYXRhUmVzcG9uc2UiMILT5JMCKhIoL3YxL3VuaXRjb3N0L21ldHJpY3MvY2xvdWR3YXRjaC9tZXRhZGF0YRKEAQoPVmVyaWZ5QVBJQWNjZXNzEiguYmx1ZWFwaS5jb3Zlci52MS5WZXJpZnlBUElBY2Nlc3NSZXF1ZXN0GikuYmx1ZWFwaS5jb3Zlci52MS5WZXJpZnlBUElBY2Nlc3NSZXNwb25zZSIcgtPkkwIWEhQvdjEvYXBpYWNjZXNzL3ZlcmlmeRKJAQoRR2V0QUlDb3N0QW5kVXNhZ2USKi5ibHVlYXBpLmNvdmVyLnYxLkdldEFJQ29zdEFuZFVzYWdlUmVxdWVzdBorLmJsdWVhcGkuY292ZXIudjEuR2V0QUlDb3N0QW5kVXNhZ2VSZXNwb25zZSIbgtPkkwIVOgEqIhAvdjEvYWkvY29zdHVzYWdlEpcBChVHZXRDb250YWluZXJDb3N0VXNhZ2USKy5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkNvbnRhaW5lckNvc3RVc2FnZVJlc3BvbnNlIiOC0+STAh06ASoiGC92MS9jb250YWluZXJzL2Nvc3R1c2FnZRKHAQoQUG9wdWxhdGVEZW1vRGF0YRIpLmJsdWVhcGkuY292ZXIudjEuUG9wdWxhdGVEZW1vRGF0YVJlcXVlc3QaKi5ibHVlYXBpLmNvdmVyLnYxLlBvcHVsYXRlRGVtb0RhdGFSZXNwb25zZSIcgtPkkwIWOgEqIhEvdjEvZGVtby9wb3B1bGF0ZRJ7Cg1SZXNldERlbW9EYXRhEiYuYmx1ZWFwaS5jb3Zlci52MS5SZXNldERlbW9EYXRhUmVxdWVzdBonLmJsdWVhcGkuY292ZXIudjEuUmVzZXREZW1vRGF0YVJlc3BvbnNlIhmC0+STAhM6ASoiDi92MS9kZW1vL3Jlc2V0EpkBCg9HZXREaXNjb3VudFBsYW4SKC5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UGxhblJlcXVlc3QaKS5ibHVlYXBpLmNvdmVyLnYxLkdldERpc2NvdW50UGxhblJlc3BvbnNlIjGC0+STAis6ASoiJi92MS97dmVuZG9yfS9kaXNjb3VudHBsYW4ve29yZ0lkfTpyZWFkEn8KDkdldENvc3RVc2FnZVYyEicuYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0VXNhZ2VWMlJlcXVlc3QaKC5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RVc2FnZVYyUmVzcG9uc2UiGILT5JMCEjoBKiINL3YxL2Nvc3R1c2FnZTABEqgBChVMaXN0Tm9ucGVyZm9ybWluZ1JhdGUSLi5ibHVlYXBpLmNvdmVyLnYxLkxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkxpc3ROb25wZXJmb3JtaW5nUmF0ZVJlc3BvbnNlIi6C0+STAig6ASoiIy92MS9yZXBvcnRzL3JhdGUvbm9ucGVyZm9ybWluZzpyZWFkEqgBChVMaXN0VW50YWdnZWRSZXNvdXJjZXMSLi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbnRhZ2dlZFJlc291cmNlc1JlcXVlc3QaLy5ibHVlYXBpLmNvdmVyLnYxLkxpc3RVbnRhZ2dlZFJlc291cmNlc1Jlc3BvbnNlIi6C0+STAig6ASoiIy92MS9yZXBvcnRzL3Jlc291cmNlcy91bnRhZ2dlZDpyZWFkEn8KDUxpc3RGb3JlY2FzdHMSJi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RGb3JlY2FzdHNSZXF1ZXN0GicuYmx1ZWFwaS5jb3Zlci52MS5MaXN0Rm9yZWNhc3RzUmVzcG9uc2UiHYLT5JMCFzoBKiISL3YxL2ZvcmVjYXN0czpyZWFkEokBChJDcmVhdGVDb3N0Rm9yZWNhc3QSKy5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLkNyZWF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIhiC0+STAhI6ASoiDS92MS9mb3JlY2FzdHMSggEKD0dldENvc3RGb3JlY2FzdBIoLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0UmVxdWVzdBopLmJsdWVhcGkuY292ZXIudjEuR2V0Q29zdEZvcmVjYXN0UmVzcG9uc2UiGoLT5JMCFBISL3YxL2ZvcmVjYXN0cy97aWR9Eo4BChJVcGRhdGVDb3N0Rm9yZWNhc3QSKy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RGb3JlY2FzdFJlcXVlc3QaLC5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZUNvc3RGb3JlY2FzdFJlc3BvbnNlIh2C0+STAhc6ASoaEi92MS9mb3JlY2FzdHMve2lkfRKLAQoSRGVsZXRlQ29zdEZvcmVjYXN0EisuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0Rm9yZWNhc3RSZXF1ZXN0GiwuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVDb3N0Rm9yZWNhc3RSZXNwb25zZSIagtPkkwIUKhIvdjEvZm9yZWNhc3RzL3tpZH0SmwEKFEdldENvc3RGb3JlY2FzdHNEYXRhEi0uYmx1ZWFwaS5jb3Zlci52MS5HZXRDb3N0Rm9yZWNhc3RzRGF0YVJlcXVlc3QaLi5ibHVlYXBpLmNvdmVyLnYxLkdldENvc3RGb3JlY2FzdHNEYXRhUmVzcG9uc2UiIoLT5JMCHDoBKiIXL3YxL2ZvcmVjYXN0cy9kYXRhOnJlYWQwARKPAQoTR2V0UmVjb21tZW5kYXRpb25WMxIsLmJsdWVhcGkuY292ZXIudjEuR2V0UmVjb21tZW5kYXRpb25WM1JlcXVlc3QaLS5ibHVlYXBpLmNvdmVyLnYxLkdldFJlY29tbWVuZGF0aW9uVjNSZXNwb25zZSIbgtPkkwIVEhMvdjEvcmVjb21tZW5kYXRpb25zEpwBChVMaXN0UmVjb21tZW5kYXRpb25zVjMSLi5ibHVlYXBpLmNvdmVyLnYxLkxpc3RSZWNvbW1lbmRhdGlvbnNWM1JlcXVlc3QaJy5ibHVlYXBpLmNvdmVyLnYxLlJlY29tbWVuZGF0aW9uU3VtbWFyeSIogtPkkwIiOgEqIh0vdjEvcmVjb21tZW5kYXRpb25zL3N1bW1hcmllczABEqUBChdFeGVjdXRlUmVjb21tZW5kYXRpb25WMxIwLmJsdWVhcGkuY292ZXIudjEuRXhlY3V0ZVJlY29tbWVuZGF0aW9uVjNSZXF1ZXN0GjEuYmx1ZWFwaS5jb3Zlci52MS5FeGVjdXRlUmVjb21tZW5kYXRpb25WM1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9yZWNvbW1lbmRhdGlvbi9leGVjdXRlEnYKC0ludml0ZVVzZXJzEiQuYmx1ZWFwaS5jb3Zlci52MS5JbnZpdGVVc2Vyc1JlcXVlc3QaJS5ibHVlYXBpLmNvdmVyLnYxLkludml0ZVVzZXJzUmVzcG9uc2UiGoLT5JMCFDoBKiIPL3YxL3VzZXIvaW52aXRlEm4KCkRlbGV0ZVVzZXISIy5ibHVlYXBpLmNvdmVyLnYxLkRlbGV0ZVVzZXJSZXF1ZXN0GiQuYmx1ZWFwaS5jb3Zlci52MS5EZWxldGVVc2VyUmVzcG9uc2UiFYLT5JMCDyoNL3YxL3VzZXIve2lkfRKCAQoOVXBkYXRlVXNlclJvbGUSJy5ibHVlYXBpLmNvdmVyLnYxLlVwZGF0ZVVzZXJSb2xlUmVxdWVzdBooLmJsdWVhcGkuY292ZXIudjEuVXBkYXRlVXNlclJvbGVSZXNwb25zZSIdgtPkkwIXOgEqGhIvdjEvdXNlci97dXNlcl9pZH0SZwoJTGlzdFVzZXJzEiIuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VXNlcnNSZXF1ZXN0GiMuYmx1ZWFwaS5jb3Zlci52MS5MaXN0VXNlcnNSZXNwb25zZSIRgtPkkwILEgkvdjEvdXNlcnMSgAEKDFJlaW52aXRlVXNlchIlLmJsdWVhcGkuY292ZXIudjEuUmVpbnZpdGVVc2VyUmVxdWVzdBomLmJsdWVhcGkuY292ZXIudjEuUmVpbnZpdGVVc2VyUmVzcG9uc2UiIYLT5JMCGzoBKiIWL3YxL3VzZXIve2lkfS9yZWludml0ZRJlCgdHZXRVc2VyEiAuYmx1ZWFwaS5jb3Zlci52MS5HZXRVc2VyUmVxdWVzdBohLmJsdWVhcGkuY292ZXIudjEuR2V0VXNlclJlc3BvbnNlIhWC0+STAg8SDS92MS91c2VyL3tpZH0alwGSQZMBEkIoQkVUQSkgQ292ZXIgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvY292ZXIaTQoSU2VydmljZSBkZWZpbml0aW9uEjdodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vY292ZXIvQksKF2Nsb3VkLmFscGhhdXMuYXBpLmNvdmVyQgpDb3ZlclByb3RvWiRnaXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvY292ZXJiBnByb3RvMw", [optimizationrecommendation_pb_1.file_api_cover_optimizationrecommendation, recommendation_pb_1.file_api_cover_recommendation_recommendation, attribute_pb_1.file_api_cover_attribute, user_pb_1.file_api_cover_user, view_pb_1.file_api_cover_view, unitcost_pb_1.file_api_cover_unitcost, costgroup_pb_1.file_api_cover_costgroup, accountaccess_pb_1.file_api_cover_accountaccess, costforecast_pb_1.file_api_cover_costforecast, discountplan_pb_1.file_api_cover_discountplan, discountrecommendation_pb_1.file_api_cover_discountrecommendation, rightsizingrecommendation_pb_1.file_api_cover_rightsizingrecommendation, alert_pb_1.file_api_cover_alert, budget_pb_1.file_api_cover_budget, insightreport_pb_1.file_api_cover_insightreport, operation_pb_1.file_protos_operation, annotations_pb_1.file_google_api_annotations, role_pb_1.file_api_cover_role, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
40
+ /**
41
+ * Describes the message blueapi.cover.v1.GetUserRequest.
42
+ * Use `create(GetUserRequestSchema)` to create a new message.
43
+ */
44
+ exports.GetUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 0);
45
+ /**
46
+ * Describes the message blueapi.cover.v1.GetUserResponse.
47
+ * Use `create(GetUserResponseSchema)` to create a new message.
48
+ */
49
+ exports.GetUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1);
50
+ /**
51
+ * Describes the message blueapi.cover.v1.GetUserResponse.Role.
52
+ * Use `create(GetUserResponse_RoleSchema)` to create a new message.
53
+ */
54
+ exports.GetUserResponse_RoleSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1, 0);
55
+ /**
56
+ * Describes the message blueapi.cover.v1.GetUserResponse.InvitedBy.
57
+ * Use `create(GetUserResponse_InvitedBySchema)` to create a new message.
58
+ */
59
+ exports.GetUserResponse_InvitedBySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1, 1);
39
60
  /**
40
61
  * Describes the message blueapi.cover.v1.ReinviteUserRequest.
41
62
  * Use `create(ReinviteUserRequestSchema)` to create a new message.
42
63
  */
43
- exports.ReinviteUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 0);
64
+ exports.ReinviteUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 2);
44
65
  /**
45
66
  * Describes the message blueapi.cover.v1.ReinviteUserResponse.
46
67
  * Use `create(ReinviteUserResponseSchema)` to create a new message.
47
68
  */
48
- exports.ReinviteUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 1);
69
+ exports.ReinviteUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3);
49
70
  /**
50
71
  * Describes the message blueapi.cover.v1.ListUsersRequest.
51
72
  * Use `create(ListUsersRequestSchema)` to create a new message.
52
73
  */
53
- exports.ListUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 2);
74
+ exports.ListUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 4);
54
75
  /**
55
76
  * Describes the message blueapi.cover.v1.ListUsersResponse.
56
77
  * Use `create(ListUsersResponseSchema)` to create a new message.
57
78
  */
58
- exports.ListUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3);
79
+ exports.ListUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5);
59
80
  /**
60
81
  * Describes the message blueapi.cover.v1.ListUsersResponse.UserSummary.
61
82
  * Use `create(ListUsersResponse_UserSummarySchema)` to create a new message.
62
83
  */
63
- exports.ListUsersResponse_UserSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 3, 0);
84
+ exports.ListUsersResponse_UserSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5, 0);
64
85
  /**
65
86
  * Describes the message blueapi.cover.v1.UpdateUserRoleRequest.
66
87
  * Use `create(UpdateUserRoleRequestSchema)` to create a new message.
67
88
  */
68
- exports.UpdateUserRoleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 4);
89
+ exports.UpdateUserRoleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6);
69
90
  /**
70
91
  * Describes the message blueapi.cover.v1.UpdateUserRoleResponse.
71
92
  * Use `create(UpdateUserRoleResponseSchema)` to create a new message.
72
93
  */
73
- exports.UpdateUserRoleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 5);
94
+ exports.UpdateUserRoleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7);
74
95
  /**
75
96
  * Describes the message blueapi.cover.v1.DeleteUserRequest.
76
97
  * Use `create(DeleteUserRequestSchema)` to create a new message.
77
98
  */
78
- exports.DeleteUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 6);
99
+ exports.DeleteUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8);
79
100
  /**
80
101
  * Describes the message blueapi.cover.v1.DeleteUserResponse.
81
102
  * Use `create(DeleteUserResponseSchema)` to create a new message.
82
103
  */
83
- exports.DeleteUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 7);
104
+ exports.DeleteUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9);
84
105
  /**
85
106
  * Describes the message blueapi.cover.v1.InviteUsersRequest.
86
107
  * Use `create(InviteUsersRequestSchema)` to create a new message.
87
108
  */
88
- exports.InviteUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 8);
109
+ exports.InviteUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 10);
89
110
  /**
90
111
  * Describes the message blueapi.cover.v1.InviteUsersResponse.
91
112
  * Use `create(InviteUsersResponseSchema)` to create a new message.
92
113
  */
93
- exports.InviteUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 9);
114
+ exports.InviteUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 11);
94
115
  /**
95
116
  * Describes the message blueapi.cover.v1.ExecuteRecommendationV3Request.
96
117
  * Use `create(ExecuteRecommendationV3RequestSchema)` to create a new message.
97
118
  */
98
- exports.ExecuteRecommendationV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 10);
119
+ exports.ExecuteRecommendationV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 12);
99
120
  /**
100
121
  * @generated from enum blueapi.cover.v1.ExecuteRecommendationV3Request.ExecuteType
101
122
  */
@@ -125,42 +146,42 @@ var ExecuteRecommendationV3Request_ExecuteType;
125
146
  /**
126
147
  * Describes the enum blueapi.cover.v1.ExecuteRecommendationV3Request.ExecuteType.
127
148
  */
128
- exports.ExecuteRecommendationV3Request_ExecuteTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 10, 0);
149
+ exports.ExecuteRecommendationV3Request_ExecuteTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 12, 0);
129
150
  /**
130
151
  * Describes the message blueapi.cover.v1.ExecuteRecommendationV3Response.
131
152
  * Use `create(ExecuteRecommendationV3ResponseSchema)` to create a new message.
132
153
  */
133
- exports.ExecuteRecommendationV3ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 11);
154
+ exports.ExecuteRecommendationV3ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 13);
134
155
  /**
135
156
  * Describes the message blueapi.cover.v1.ListRecommendationsV3Request.
136
157
  * Use `create(ListRecommendationsV3RequestSchema)` to create a new message.
137
158
  */
138
- exports.ListRecommendationsV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 12);
159
+ exports.ListRecommendationsV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 14);
139
160
  /**
140
161
  * Describes the message blueapi.cover.v1.RecommendationSummary.
141
162
  * Use `create(RecommendationSummarySchema)` to create a new message.
142
163
  */
143
- exports.RecommendationSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 13);
164
+ exports.RecommendationSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15);
144
165
  /**
145
166
  * Describes the message blueapi.cover.v1.GetRecommendationV3Request.
146
167
  * Use `create(GetRecommendationV3RequestSchema)` to create a new message.
147
168
  */
148
- exports.GetRecommendationV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 14);
169
+ exports.GetRecommendationV3RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 16);
149
170
  /**
150
171
  * Describes the message blueapi.cover.v1.GetRecommendationV3Response.
151
172
  * Use `create(GetRecommendationV3ResponseSchema)` to create a new message.
152
173
  */
153
- exports.GetRecommendationV3ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15);
174
+ exports.GetRecommendationV3ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17);
154
175
  /**
155
176
  * Describes the message blueapi.cover.v1.GetRecommendationV3Response.RecommendationDetail.
156
177
  * Use `create(GetRecommendationV3Response_RecommendationDetailSchema)` to create a new message.
157
178
  */
158
- exports.GetRecommendationV3Response_RecommendationDetailSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 15, 0);
179
+ exports.GetRecommendationV3Response_RecommendationDetailSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17, 0);
159
180
  /**
160
181
  * Describes the message blueapi.cover.v1.GetCostForecastsDataRequest.
161
182
  * Use `create(GetCostForecastsDataRequestSchema)` to create a new message.
162
183
  */
163
- exports.GetCostForecastsDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 16);
184
+ exports.GetCostForecastsDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18);
164
185
  /**
165
186
  * @generated from enum blueapi.cover.v1.GetCostForecastsDataRequest.Granularity
166
187
  */
@@ -182,72 +203,72 @@ var GetCostForecastsDataRequest_Granularity;
182
203
  /**
183
204
  * Describes the enum blueapi.cover.v1.GetCostForecastsDataRequest.Granularity.
184
205
  */
185
- exports.GetCostForecastsDataRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 16, 0);
206
+ exports.GetCostForecastsDataRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 18, 0);
186
207
  /**
187
208
  * Describes the message blueapi.cover.v1.GetCostForecastsDataResponse.
188
209
  * Use `create(GetCostForecastsDataResponseSchema)` to create a new message.
189
210
  */
190
- exports.GetCostForecastsDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 17);
211
+ exports.GetCostForecastsDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19);
191
212
  /**
192
213
  * Describes the message blueapi.cover.v1.ListForecastsRequest.
193
214
  * Use `create(ListForecastsRequestSchema)` to create a new message.
194
215
  */
195
- exports.ListForecastsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 18);
216
+ exports.ListForecastsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20);
196
217
  /**
197
218
  * Describes the message blueapi.cover.v1.ListForecastsResponse.
198
219
  * Use `create(ListForecastsResponseSchema)` to create a new message.
199
220
  */
200
- exports.ListForecastsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 19);
221
+ exports.ListForecastsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21);
201
222
  /**
202
223
  * Describes the message blueapi.cover.v1.CreateCostForecastRequest.
203
224
  * Use `create(CreateCostForecastRequestSchema)` to create a new message.
204
225
  */
205
- exports.CreateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 20);
226
+ exports.CreateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 22);
206
227
  /**
207
228
  * Describes the message blueapi.cover.v1.CreateCostForecastResponse.
208
229
  * Use `create(CreateCostForecastResponseSchema)` to create a new message.
209
230
  */
210
- exports.CreateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 21);
231
+ exports.CreateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 23);
211
232
  /**
212
233
  * Describes the message blueapi.cover.v1.GetCostForecastRequest.
213
234
  * Use `create(GetCostForecastRequestSchema)` to create a new message.
214
235
  */
215
- exports.GetCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 22);
236
+ exports.GetCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 24);
216
237
  /**
217
238
  * Describes the message blueapi.cover.v1.GetCostForecastResponse.
218
239
  * Use `create(GetCostForecastResponseSchema)` to create a new message.
219
240
  */
220
- exports.GetCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 23);
241
+ exports.GetCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 25);
221
242
  /**
222
243
  * Describes the message blueapi.cover.v1.UpdateCostForecastRequest.
223
244
  * Use `create(UpdateCostForecastRequestSchema)` to create a new message.
224
245
  */
225
- exports.UpdateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 24);
246
+ exports.UpdateCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 26);
226
247
  /**
227
248
  * Describes the message blueapi.cover.v1.UpdateCostForecastResponse.
228
249
  * Use `create(UpdateCostForecastResponseSchema)` to create a new message.
229
250
  */
230
- exports.UpdateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 25);
251
+ exports.UpdateCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 27);
231
252
  /**
232
253
  * Describes the message blueapi.cover.v1.DeleteCostForecastRequest.
233
254
  * Use `create(DeleteCostForecastRequestSchema)` to create a new message.
234
255
  */
235
- exports.DeleteCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 26);
256
+ exports.DeleteCostForecastRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 28);
236
257
  /**
237
258
  * Describes the message blueapi.cover.v1.DeleteCostForecastResponse.
238
259
  * Use `create(DeleteCostForecastResponseSchema)` to create a new message.
239
260
  */
240
- exports.DeleteCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 27);
261
+ exports.DeleteCostForecastResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 29);
241
262
  /**
242
263
  * Describes the message blueapi.cover.v1.GetCostUsageV2Response.
243
264
  * Use `create(GetCostUsageV2ResponseSchema)` to create a new message.
244
265
  */
245
- exports.GetCostUsageV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 28);
266
+ exports.GetCostUsageV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 30);
246
267
  /**
247
268
  * Describes the message blueapi.cover.v1.GetCostUsageV2Request.
248
269
  * Use `create(GetCostUsageV2RequestSchema)` to create a new message.
249
270
  */
250
- exports.GetCostUsageV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 29);
271
+ exports.GetCostUsageV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 31);
251
272
  /**
252
273
  * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Granularity
253
274
  */
@@ -269,7 +290,7 @@ var GetCostUsageV2Request_Granularity;
269
290
  /**
270
291
  * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Granularity.
271
292
  */
272
- exports.GetCostUsageV2Request_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 29, 0);
293
+ exports.GetCostUsageV2Request_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 31, 0);
273
294
  /**
274
295
  * @generated from enum blueapi.cover.v1.GetCostUsageV2Request.Category
275
296
  */
@@ -291,37 +312,37 @@ var GetCostUsageV2Request_Category;
291
312
  /**
292
313
  * Describes the enum blueapi.cover.v1.GetCostUsageV2Request.Category.
293
314
  */
294
- exports.GetCostUsageV2Request_CategorySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 29, 1);
315
+ exports.GetCostUsageV2Request_CategorySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 31, 1);
295
316
  /**
296
317
  * Describes the message blueapi.cover.v1.PopulateDemoDataRequest.
297
318
  * Use `create(PopulateDemoDataRequestSchema)` to create a new message.
298
319
  */
299
- exports.PopulateDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 30);
320
+ exports.PopulateDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 32);
300
321
  /**
301
322
  * Describes the message blueapi.cover.v1.PopulateDemoDataResponse.
302
323
  * Use `create(PopulateDemoDataResponseSchema)` to create a new message.
303
324
  */
304
- exports.PopulateDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 31);
325
+ exports.PopulateDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 33);
305
326
  /**
306
327
  * Describes the message blueapi.cover.v1.ResetDemoDataRequest.
307
328
  * Use `create(ResetDemoDataRequestSchema)` to create a new message.
308
329
  */
309
- exports.ResetDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 32);
330
+ exports.ResetDemoDataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34);
310
331
  /**
311
332
  * Describes the message blueapi.cover.v1.ResetDemoDataResponse.
312
333
  * Use `create(ResetDemoDataResponseSchema)` to create a new message.
313
334
  */
314
- exports.ResetDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 33);
335
+ exports.ResetDemoDataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35);
315
336
  /**
316
337
  * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.
317
338
  * Use `create(ContainerCostUsageRequestSchema)` to create a new message.
318
339
  */
319
- exports.ContainerCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34);
340
+ exports.ContainerCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36);
320
341
  /**
321
342
  * Describes the message blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.
322
343
  * Use `create(ContainerCostUsageRequest_FilterCriteriaSchema)` to create a new message.
323
344
  */
324
- exports.ContainerCostUsageRequest_FilterCriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 34, 0);
345
+ exports.ContainerCostUsageRequest_FilterCriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36, 0);
325
346
  /**
326
347
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator
327
348
  */
@@ -343,7 +364,7 @@ var ContainerCostUsageRequest_FilterCriteria_FilterOperator;
343
364
  /**
344
365
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.FilterCriteria.FilterOperator.
345
366
  */
346
- exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 34, 0, 0);
367
+ exports.ContainerCostUsageRequest_FilterCriteria_FilterOperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 0, 0);
347
368
  /**
348
369
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity
349
370
  */
@@ -365,7 +386,7 @@ var ContainerCostUsageRequest_TimeGranularity;
365
386
  /**
366
387
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.TimeGranularity.
367
388
  */
368
- exports.ContainerCostUsageRequest_TimeGranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 34, 0);
389
+ exports.ContainerCostUsageRequest_TimeGranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 0);
369
390
  /**
370
391
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType
371
392
  */
@@ -395,7 +416,7 @@ var ContainerCostUsageRequest_MetricType;
395
416
  /**
396
417
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.MetricType.
397
418
  */
398
- exports.ContainerCostUsageRequest_MetricTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 34, 1);
419
+ exports.ContainerCostUsageRequest_MetricTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 1);
399
420
  /**
400
421
  * @generated from enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType
401
422
  */
@@ -417,52 +438,52 @@ var ContainerCostUsageRequest_ServiceType;
417
438
  /**
418
439
  * Describes the enum blueapi.cover.v1.ContainerCostUsageRequest.ServiceType.
419
440
  */
420
- exports.ContainerCostUsageRequest_ServiceTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 34, 2);
441
+ exports.ContainerCostUsageRequest_ServiceTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 2);
421
442
  /**
422
443
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.
423
444
  * Use `create(ContainerCostUsageResponseSchema)` to create a new message.
424
445
  */
425
- exports.ContainerCostUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35);
446
+ exports.ContainerCostUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37);
426
447
  /**
427
448
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.CostMetric.
428
449
  * Use `create(ContainerCostUsageResponse_CostMetricSchema)` to create a new message.
429
450
  */
430
- exports.ContainerCostUsageResponse_CostMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 0);
451
+ exports.ContainerCostUsageResponse_CostMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 0);
431
452
  /**
432
453
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.UsageMetric.
433
454
  * Use `create(ContainerCostUsageResponse_UsageMetricSchema)` to create a new message.
434
455
  */
435
- exports.ContainerCostUsageResponse_UsageMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 1);
456
+ exports.ContainerCostUsageResponse_UsageMetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 1);
436
457
  /**
437
458
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.MetricDataPoint.
438
459
  * Use `create(ContainerCostUsageResponse_MetricDataPointSchema)` to create a new message.
439
460
  */
440
- exports.ContainerCostUsageResponse_MetricDataPointSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 2);
461
+ exports.ContainerCostUsageResponse_MetricDataPointSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 2);
441
462
  /**
442
463
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlight.
443
464
  * Use `create(ContainerCostUsageResponse_ResourceHighlightSchema)` to create a new message.
444
465
  */
445
- exports.ContainerCostUsageResponse_ResourceHighlightSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 3);
466
+ exports.ContainerCostUsageResponse_ResourceHighlightSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 3);
446
467
  /**
447
468
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.ResourceHighlights.
448
469
  * Use `create(ContainerCostUsageResponse_ResourceHighlightsSchema)` to create a new message.
449
470
  */
450
- exports.ContainerCostUsageResponse_ResourceHighlightsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 4);
471
+ exports.ContainerCostUsageResponse_ResourceHighlightsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 4);
451
472
  /**
452
473
  * Describes the message blueapi.cover.v1.ContainerCostUsageResponse.GroupedResult.
453
474
  * Use `create(ContainerCostUsageResponse_GroupedResultSchema)` to create a new message.
454
475
  */
455
- exports.ContainerCostUsageResponse_GroupedResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 35, 5);
476
+ exports.ContainerCostUsageResponse_GroupedResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 5);
456
477
  /**
457
478
  * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.
458
479
  * Use `create(GetAICostAndUsageRequestSchema)` to create a new message.
459
480
  */
460
- exports.GetAICostAndUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36);
481
+ exports.GetAICostAndUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38);
461
482
  /**
462
483
  * Describes the message blueapi.cover.v1.GetAICostAndUsageRequest.Filter.
463
484
  * Use `create(GetAICostAndUsageRequest_FilterSchema)` to create a new message.
464
485
  */
465
- exports.GetAICostAndUsageRequest_FilterSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 36, 0);
486
+ exports.GetAICostAndUsageRequest_FilterSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38, 0);
466
487
  /**
467
488
  * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator
468
489
  */
@@ -484,7 +505,7 @@ var GetAICostAndUsageRequest_Filter_Operator;
484
505
  /**
485
506
  * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Filter.Operator.
486
507
  */
487
- exports.GetAICostAndUsageRequest_Filter_OperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 0, 0);
508
+ exports.GetAICostAndUsageRequest_Filter_OperatorSchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 38, 0, 0);
488
509
  /**
489
510
  * @generated from enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity
490
511
  */
@@ -506,1767 +527,1767 @@ var GetAICostAndUsageRequest_Granularity;
506
527
  /**
507
528
  * Describes the enum blueapi.cover.v1.GetAICostAndUsageRequest.Granularity.
508
529
  */
509
- exports.GetAICostAndUsageRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 36, 0);
530
+ exports.GetAICostAndUsageRequest_GranularitySchema = (0, codegenv2_1.enumDesc)(exports.file_cover_v1_cover, 38, 0);
510
531
  /**
511
532
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.
512
533
  * Use `create(GetAICostAndUsageResponseSchema)` to create a new message.
513
534
  */
514
- exports.GetAICostAndUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37);
535
+ exports.GetAICostAndUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39);
515
536
  /**
516
537
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Cost.
517
538
  * Use `create(GetAICostAndUsageResponse_CostSchema)` to create a new message.
518
539
  */
519
- exports.GetAICostAndUsageResponse_CostSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 0);
540
+ exports.GetAICostAndUsageResponse_CostSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39, 0);
520
541
  /**
521
542
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Usage.
522
543
  * Use `create(GetAICostAndUsageResponse_UsageSchema)` to create a new message.
523
544
  */
524
- exports.GetAICostAndUsageResponse_UsageSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 1);
545
+ exports.GetAICostAndUsageResponse_UsageSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39, 1);
525
546
  /**
526
547
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Metric.
527
548
  * Use `create(GetAICostAndUsageResponse_MetricSchema)` to create a new message.
528
549
  */
529
- exports.GetAICostAndUsageResponse_MetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 2);
550
+ exports.GetAICostAndUsageResponse_MetricSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39, 2);
530
551
  /**
531
552
  * Describes the message blueapi.cover.v1.GetAICostAndUsageResponse.Result.
532
553
  * Use `create(GetAICostAndUsageResponse_ResultSchema)` to create a new message.
533
554
  */
534
- exports.GetAICostAndUsageResponse_ResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 37, 3);
555
+ exports.GetAICostAndUsageResponse_ResultSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39, 3);
535
556
  /**
536
557
  * Describes the message blueapi.cover.v1.GetExecutionStatusRequest.
537
558
  * Use `create(GetExecutionStatusRequestSchema)` to create a new message.
538
559
  */
539
- exports.GetExecutionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 38);
560
+ exports.GetExecutionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 40);
540
561
  /**
541
562
  * Describes the message blueapi.cover.v1.GetExecutionStatusResponse.
542
563
  * Use `create(GetExecutionStatusResponseSchema)` to create a new message.
543
564
  */
544
- exports.GetExecutionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 39);
565
+ exports.GetExecutionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 41);
545
566
  /**
546
567
  * Describes the message blueapi.cover.v1.VerifyAPIAccessRequest.
547
568
  * Use `create(VerifyAPIAccessRequestSchema)` to create a new message.
548
569
  */
549
- exports.VerifyAPIAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 40);
570
+ exports.VerifyAPIAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 42);
550
571
  /**
551
572
  * Describes the message blueapi.cover.v1.VerifyAPIAccessResponse.
552
573
  * Use `create(VerifyAPIAccessResponseSchema)` to create a new message.
553
574
  */
554
- exports.VerifyAPIAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 41);
575
+ exports.VerifyAPIAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 43);
555
576
  /**
556
577
  * Describes the message blueapi.cover.v1.GetRecommendationV2Request.
557
578
  * Use `create(GetRecommendationV2RequestSchema)` to create a new message.
558
579
  */
559
- exports.GetRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 42);
580
+ exports.GetRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 44);
560
581
  /**
561
582
  * Describes the message blueapi.cover.v1.GetRecommendationV2Response.
562
583
  * Use `create(GetRecommendationV2ResponseSchema)` to create a new message.
563
584
  */
564
- exports.GetRecommendationV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 43);
585
+ exports.GetRecommendationV2ResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 45);
565
586
  /**
566
587
  * Describes the message blueapi.cover.v1.OnboardOrgRequest.
567
588
  * Use `create(OnboardOrgRequestSchema)` to create a new message.
568
589
  */
569
- exports.OnboardOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 44);
590
+ exports.OnboardOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 46);
570
591
  /**
571
592
  * Describes the message blueapi.cover.v1.OnboardOrgResponse.
572
593
  * Use `create(OnboardOrgResponseSchema)` to create a new message.
573
594
  */
574
- exports.OnboardOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 45);
595
+ exports.OnboardOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 47);
575
596
  /**
576
597
  * Describes the message blueapi.cover.v1.InviteMemberRequest.
577
598
  * Use `create(InviteMemberRequestSchema)` to create a new message.
578
599
  */
579
- exports.InviteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 46);
600
+ exports.InviteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 48);
580
601
  /**
581
602
  * Describes the message blueapi.cover.v1.InviteMemberResponse.
582
603
  * Use `create(InviteMemberResponseSchema)` to create a new message.
583
604
  */
584
- exports.InviteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 47);
605
+ exports.InviteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 49);
585
606
  /**
586
607
  * Describes the message blueapi.cover.v1.ActivateUserRequest.
587
608
  * Use `create(ActivateUserRequestSchema)` to create a new message.
588
609
  */
589
- exports.ActivateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 48);
610
+ exports.ActivateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 50);
590
611
  /**
591
612
  * Describes the message blueapi.cover.v1.ActivateUserResponse.
592
613
  * Use `create(ActivateUserResponseSchema)` to create a new message.
593
614
  */
594
- exports.ActivateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 49);
615
+ exports.ActivateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 51);
595
616
  /**
596
617
  * Describes the message blueapi.cover.v1.CreateMemberRequest.
597
618
  * Use `create(CreateMemberRequestSchema)` to create a new message.
598
619
  */
599
- exports.CreateMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 50);
620
+ exports.CreateMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 52);
600
621
  /**
601
622
  * Describes the message blueapi.cover.v1.CreateMemberResponse.
602
623
  * Use `create(CreateMemberResponseSchema)` to create a new message.
603
624
  */
604
- exports.CreateMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 51);
625
+ exports.CreateMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 53);
605
626
  /**
606
627
  * Describes the message blueapi.cover.v1.GetMembersRequest.
607
628
  * Use `create(GetMembersRequestSchema)` to create a new message.
608
629
  */
609
- exports.GetMembersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 52);
630
+ exports.GetMembersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 54);
610
631
  /**
611
632
  * Describes the message blueapi.cover.v1.GetMembersResponse.
612
633
  * Use `create(GetMembersResponseSchema)` to create a new message.
613
634
  */
614
- exports.GetMembersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 53);
635
+ exports.GetMembersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 55);
615
636
  /**
616
637
  * Describes the message blueapi.cover.v1.GetMemberDetailsRequest.
617
638
  * Use `create(GetMemberDetailsRequestSchema)` to create a new message.
618
639
  */
619
- exports.GetMemberDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 54);
640
+ exports.GetMemberDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 56);
620
641
  /**
621
642
  * Describes the message blueapi.cover.v1.GetMemberDetailsResponse.
622
643
  * Use `create(GetMemberDetailsResponseSchema)` to create a new message.
623
644
  */
624
- exports.GetMemberDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 55);
645
+ exports.GetMemberDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 57);
625
646
  /**
626
647
  * Describes the message blueapi.cover.v1.GetMemberCostGroupRequest.
627
648
  * Use `create(GetMemberCostGroupRequestSchema)` to create a new message.
628
649
  */
629
- exports.GetMemberCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 56);
650
+ exports.GetMemberCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 58);
630
651
  /**
631
652
  * Describes the message blueapi.cover.v1.GetMemberCostGroupResponse.
632
653
  * Use `create(GetMemberCostGroupResponseSchema)` to create a new message.
633
654
  */
634
- exports.GetMemberCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 57);
655
+ exports.GetMemberCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 59);
635
656
  /**
636
657
  * Describes the message blueapi.cover.v1.UpdateMemberPermissionRequest.
637
658
  * Use `create(UpdateMemberPermissionRequestSchema)` to create a new message.
638
659
  */
639
- exports.UpdateMemberPermissionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 58);
660
+ exports.UpdateMemberPermissionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 60);
640
661
  /**
641
662
  * Describes the message blueapi.cover.v1.UpdateMemberPermissionResponse.
642
663
  * Use `create(UpdateMemberPermissionResponseSchema)` to create a new message.
643
664
  */
644
- exports.UpdateMemberPermissionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 59);
665
+ exports.UpdateMemberPermissionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 61);
645
666
  /**
646
667
  * Describes the message blueapi.cover.v1.GetUserDetailsRequest.
647
668
  * Use `create(GetUserDetailsRequestSchema)` to create a new message.
648
669
  */
649
- exports.GetUserDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 60);
670
+ exports.GetUserDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 62);
650
671
  /**
651
672
  * Describes the message blueapi.cover.v1.GetUserDetailsResponse.
652
673
  * Use `create(GetUserDetailsResponseSchema)` to create a new message.
653
674
  */
654
- exports.GetUserDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 61);
675
+ exports.GetUserDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 63);
655
676
  /**
656
677
  * Describes the message blueapi.cover.v1.UpdateUserAvatarRequest.
657
678
  * Use `create(UpdateUserAvatarRequestSchema)` to create a new message.
658
679
  */
659
- exports.UpdateUserAvatarRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 62);
680
+ exports.UpdateUserAvatarRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 64);
660
681
  /**
661
682
  * Describes the message blueapi.cover.v1.UpdateUserAvatarResponse.
662
683
  * Use `create(UpdateUserAvatarResponseSchema)` to create a new message.
663
684
  */
664
- exports.UpdateUserAvatarResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 63);
685
+ exports.UpdateUserAvatarResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 65);
665
686
  /**
666
687
  * Describes the message blueapi.cover.v1.UpdateUserIconRequest.
667
688
  * Use `create(UpdateUserIconRequestSchema)` to create a new message.
668
689
  */
669
- exports.UpdateUserIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 64);
690
+ exports.UpdateUserIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 66);
670
691
  /**
671
692
  * Describes the message blueapi.cover.v1.UpdateUserIconResponse.
672
693
  * Use `create(UpdateUserIconResponseSchema)` to create a new message.
673
694
  */
674
- exports.UpdateUserIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 65);
695
+ exports.UpdateUserIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 67);
675
696
  /**
676
697
  * Describes the message blueapi.cover.v1.UpdateUserColorThemeRequest.
677
698
  * Use `create(UpdateUserColorThemeRequestSchema)` to create a new message.
678
699
  */
679
- exports.UpdateUserColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 66);
700
+ exports.UpdateUserColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 68);
680
701
  /**
681
702
  * Describes the message blueapi.cover.v1.UpdateUserColorThemeResponse.
682
703
  * Use `create(UpdateUserColorThemeResponseSchema)` to create a new message.
683
704
  */
684
- exports.UpdateUserColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 67);
705
+ exports.UpdateUserColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 69);
685
706
  /**
686
707
  * Describes the message blueapi.cover.v1.UpdateUserNameRequest.
687
708
  * Use `create(UpdateUserNameRequestSchema)` to create a new message.
688
709
  */
689
- exports.UpdateUserNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 68);
710
+ exports.UpdateUserNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 70);
690
711
  /**
691
712
  * Describes the message blueapi.cover.v1.UpdateUserNameResponse.
692
713
  * Use `create(UpdateUserNameResponseSchema)` to create a new message.
693
714
  */
694
- exports.UpdateUserNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 69);
715
+ exports.UpdateUserNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 71);
695
716
  /**
696
717
  * Describes the message blueapi.cover.v1.UpdateUserEmailRequest.
697
718
  * Use `create(UpdateUserEmailRequestSchema)` to create a new message.
698
719
  */
699
- exports.UpdateUserEmailRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 70);
720
+ exports.UpdateUserEmailRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 72);
700
721
  /**
701
722
  * Describes the message blueapi.cover.v1.UpdateUserEmailResponse.
702
723
  * Use `create(UpdateUserEmailResponseSchema)` to create a new message.
703
724
  */
704
- exports.UpdateUserEmailResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 71);
725
+ exports.UpdateUserEmailResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 73);
705
726
  /**
706
727
  * Describes the message blueapi.cover.v1.UpdateUserMainViewRequest.
707
728
  * Use `create(UpdateUserMainViewRequestSchema)` to create a new message.
708
729
  */
709
- exports.UpdateUserMainViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 72);
730
+ exports.UpdateUserMainViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 74);
710
731
  /**
711
732
  * Describes the message blueapi.cover.v1.UpdateUserMainViewResponse.
712
733
  * Use `create(UpdateUserMainViewResponseSchema)` to create a new message.
713
734
  */
714
- exports.UpdateUserMainViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 73);
735
+ exports.UpdateUserMainViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 75);
715
736
  /**
716
737
  * Describes the message blueapi.cover.v1.ResetUserPasswordRequest.
717
738
  * Use `create(ResetUserPasswordRequestSchema)` to create a new message.
718
739
  */
719
- exports.ResetUserPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 74);
740
+ exports.ResetUserPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 76);
720
741
  /**
721
742
  * Describes the message blueapi.cover.v1.ResetUserPasswordResponse.
722
743
  * Use `create(ResetUserPasswordResponseSchema)` to create a new message.
723
744
  */
724
- exports.ResetUserPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 75);
745
+ exports.ResetUserPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 77);
725
746
  /**
726
747
  * Describes the message blueapi.cover.v1.UpdateUserLocaleRequest.
727
748
  * Use `create(UpdateUserLocaleRequestSchema)` to create a new message.
728
749
  */
729
- exports.UpdateUserLocaleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 76);
750
+ exports.UpdateUserLocaleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 78);
730
751
  /**
731
752
  * Describes the message blueapi.cover.v1.UpdateUserLocaleResponse.
732
753
  * Use `create(UpdateUserLocaleResponseSchema)` to create a new message.
733
754
  */
734
- exports.UpdateUserLocaleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 77);
755
+ exports.UpdateUserLocaleResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 79);
735
756
  /**
736
757
  * Describes the message blueapi.cover.v1.UpdateUserAppThemeRequest.
737
758
  * Use `create(UpdateUserAppThemeRequestSchema)` to create a new message.
738
759
  */
739
- exports.UpdateUserAppThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 78);
760
+ exports.UpdateUserAppThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 80);
740
761
  /**
741
762
  * Describes the message blueapi.cover.v1.UpdateUserAppThemeResponse.
742
763
  * Use `create(UpdateUserAppThemeResponseSchema)` to create a new message.
743
764
  */
744
- exports.UpdateUserAppThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 79);
765
+ exports.UpdateUserAppThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 81);
745
766
  /**
746
767
  * Describes the message blueapi.cover.v1.UpdateUserTimezoneRequest.
747
768
  * Use `create(UpdateUserTimezoneRequestSchema)` to create a new message.
748
769
  */
749
- exports.UpdateUserTimezoneRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 80);
770
+ exports.UpdateUserTimezoneRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 82);
750
771
  /**
751
772
  * Describes the message blueapi.cover.v1.UpdateUserTimezoneResponse.
752
773
  * Use `create(UpdateUserTimezoneResponseSchema)` to create a new message.
753
774
  */
754
- exports.UpdateUserTimezoneResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 81);
775
+ exports.UpdateUserTimezoneResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 83);
755
776
  /**
756
777
  * Describes the message blueapi.cover.v1.UpdateUserAttributesRequest.
757
778
  * Use `create(UpdateUserAttributesRequestSchema)` to create a new message.
758
779
  */
759
- exports.UpdateUserAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 82);
780
+ exports.UpdateUserAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 84);
760
781
  /**
761
782
  * Describes the message blueapi.cover.v1.UpdateUserAttributesResponse.
762
783
  * Use `create(UpdateUserAttributesResponseSchema)` to create a new message.
763
784
  */
764
- exports.UpdateUserAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 83);
785
+ exports.UpdateUserAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 85);
765
786
  /**
766
787
  * Describes the message blueapi.cover.v1.DeleteMemberRequest.
767
788
  * Use `create(DeleteMemberRequestSchema)` to create a new message.
768
789
  */
769
- exports.DeleteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 84);
790
+ exports.DeleteMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 86);
770
791
  /**
771
792
  * Describes the message blueapi.cover.v1.DeleteMemberResponse.
772
793
  * Use `create(DeleteMemberResponseSchema)` to create a new message.
773
794
  */
774
- exports.DeleteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 85);
795
+ exports.DeleteMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 87);
775
796
  /**
776
797
  * Describes the message blueapi.cover.v1.ResetPasswordRequest.
777
798
  * Use `create(ResetPasswordRequestSchema)` to create a new message.
778
799
  */
779
- exports.ResetPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 86);
800
+ exports.ResetPasswordRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 88);
780
801
  /**
781
802
  * Describes the message blueapi.cover.v1.ResetPasswordResponse.
782
803
  * Use `create(ResetPasswordResponseSchema)` to create a new message.
783
804
  */
784
- exports.ResetPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 87);
805
+ exports.ResetPasswordResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 89);
785
806
  /**
786
807
  * Describes the message blueapi.cover.v1.CreateViewRequest.
787
808
  * Use `create(CreateViewRequestSchema)` to create a new message.
788
809
  */
789
- exports.CreateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 88);
810
+ exports.CreateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 90);
790
811
  /**
791
812
  * Describes the message blueapi.cover.v1.CreateViewResponse.
792
813
  * Use `create(CreateViewResponseSchema)` to create a new message.
793
814
  */
794
- exports.CreateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 89);
815
+ exports.CreateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 91);
795
816
  /**
796
817
  * Describes the message blueapi.cover.v1.GetViewsRequest.
797
818
  * Use `create(GetViewsRequestSchema)` to create a new message.
798
819
  */
799
- exports.GetViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 90);
820
+ exports.GetViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 92);
800
821
  /**
801
822
  * Describes the message blueapi.cover.v1.GetViewsResponse.
802
823
  * Use `create(GetViewsResponseSchema)` to create a new message.
803
824
  */
804
- exports.GetViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 91);
825
+ exports.GetViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 93);
805
826
  /**
806
827
  * Describes the message blueapi.cover.v1.GetCurrentViewRequest.
807
828
  * Use `create(GetCurrentViewRequestSchema)` to create a new message.
808
829
  */
809
- exports.GetCurrentViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 92);
830
+ exports.GetCurrentViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 94);
810
831
  /**
811
832
  * Describes the message blueapi.cover.v1.GetCurrentViewResponse.
812
833
  * Use `create(GetCurrentViewResponseSchema)` to create a new message.
813
834
  */
814
- exports.GetCurrentViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 93);
835
+ exports.GetCurrentViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 95);
815
836
  /**
816
837
  * Describes the message blueapi.cover.v1.GetFavoriteViewsRequest.
817
838
  * Use `create(GetFavoriteViewsRequestSchema)` to create a new message.
818
839
  */
819
- exports.GetFavoriteViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 94);
840
+ exports.GetFavoriteViewsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 96);
820
841
  /**
821
842
  * Describes the message blueapi.cover.v1.GetFavoriteViewsResponse.
822
843
  * Use `create(GetFavoriteViewsResponseSchema)` to create a new message.
823
844
  */
824
- exports.GetFavoriteViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 95);
845
+ exports.GetFavoriteViewsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 97);
825
846
  /**
826
847
  * Describes the message blueapi.cover.v1.PublishViewRequest.
827
848
  * Use `create(PublishViewRequestSchema)` to create a new message.
828
849
  */
829
- exports.PublishViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 96);
850
+ exports.PublishViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 98);
830
851
  /**
831
852
  * Describes the message blueapi.cover.v1.PublishViewResponse.
832
853
  * Use `create(PublishViewResponseSchema)` to create a new message.
833
854
  */
834
- exports.PublishViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 97);
855
+ exports.PublishViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 99);
835
856
  /**
836
857
  * Describes the message blueapi.cover.v1.AddFavoriteRequest.
837
858
  * Use `create(AddFavoriteRequestSchema)` to create a new message.
838
859
  */
839
- exports.AddFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 98);
860
+ exports.AddFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 100);
840
861
  /**
841
862
  * Describes the message blueapi.cover.v1.AddFavoriteResponse.
842
863
  * Use `create(AddFavoriteResponseSchema)` to create a new message.
843
864
  */
844
- exports.AddFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 99);
865
+ exports.AddFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 101);
845
866
  /**
846
867
  * Describes the message blueapi.cover.v1.RemoveFavoriteRequest.
847
868
  * Use `create(RemoveFavoriteRequestSchema)` to create a new message.
848
869
  */
849
- exports.RemoveFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 100);
870
+ exports.RemoveFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 102);
850
871
  /**
851
872
  * Describes the message blueapi.cover.v1.RemoveFavoriteResponse.
852
873
  * Use `create(RemoveFavoriteResponseSchema)` to create a new message.
853
874
  */
854
- exports.RemoveFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 101);
875
+ exports.RemoveFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 103);
855
876
  /**
856
877
  * Describes the message blueapi.cover.v1.UpdateViewRequest.
857
878
  * Use `create(UpdateViewRequestSchema)` to create a new message.
858
879
  */
859
- exports.UpdateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 102);
880
+ exports.UpdateViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 104);
860
881
  /**
861
882
  * Describes the message blueapi.cover.v1.UpdateViewResponse.
862
883
  * Use `create(UpdateViewResponseSchema)` to create a new message.
863
884
  */
864
- exports.UpdateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 103);
885
+ exports.UpdateViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 105);
865
886
  /**
866
887
  * Describes the message blueapi.cover.v1.UpdateViewLayoutRequest.
867
888
  * Use `create(UpdateViewLayoutRequestSchema)` to create a new message.
868
889
  */
869
- exports.UpdateViewLayoutRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 104);
890
+ exports.UpdateViewLayoutRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 106);
870
891
  /**
871
892
  * Describes the message blueapi.cover.v1.UpdateViewLayoutResponse.
872
893
  * Use `create(UpdateViewLayoutResponseSchema)` to create a new message.
873
894
  */
874
- exports.UpdateViewLayoutResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 105);
895
+ exports.UpdateViewLayoutResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 107);
875
896
  /**
876
897
  * Describes the message blueapi.cover.v1.UpdateViewWidgetRequest.
877
898
  * Use `create(UpdateViewWidgetRequestSchema)` to create a new message.
878
899
  */
879
- exports.UpdateViewWidgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 106);
900
+ exports.UpdateViewWidgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 108);
880
901
  /**
881
902
  * Describes the message blueapi.cover.v1.UpdateViewWidgetResponse.
882
903
  * Use `create(UpdateViewWidgetResponseSchema)` to create a new message.
883
904
  */
884
- exports.UpdateViewWidgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 107);
905
+ exports.UpdateViewWidgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 109);
885
906
  /**
886
907
  * Describes the message blueapi.cover.v1.UpdateViewColorThemeRequest.
887
908
  * Use `create(UpdateViewColorThemeRequestSchema)` to create a new message.
888
909
  */
889
- exports.UpdateViewColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 108);
910
+ exports.UpdateViewColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 110);
890
911
  /**
891
912
  * Describes the message blueapi.cover.v1.UpdateViewColorThemeResponse.
892
913
  * Use `create(UpdateViewColorThemeResponseSchema)` to create a new message.
893
914
  */
894
- exports.UpdateViewColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 109);
915
+ exports.UpdateViewColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 111);
895
916
  /**
896
917
  * Describes the message blueapi.cover.v1.UpdateViewCurrencyRequest.
897
918
  * Use `create(UpdateViewCurrencyRequestSchema)` to create a new message.
898
919
  */
899
- exports.UpdateViewCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 110);
920
+ exports.UpdateViewCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 112);
900
921
  /**
901
922
  * Describes the message blueapi.cover.v1.UpdateViewCurrencyResponse.
902
923
  * Use `create(UpdateViewCurrencyResponseSchema)` to create a new message.
903
924
  */
904
- exports.UpdateViewCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 111);
925
+ exports.UpdateViewCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 113);
905
926
  /**
906
927
  * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyRequest.
907
928
  * Use `create(SetOrgUpdateCurrencyRequestSchema)` to create a new message.
908
929
  */
909
- exports.SetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 112);
930
+ exports.SetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 114);
910
931
  /**
911
932
  * Describes the message blueapi.cover.v1.SetOrgUpdateCurrencyResponse.
912
933
  * Use `create(SetOrgUpdateCurrencyResponseSchema)` to create a new message.
913
934
  */
914
- exports.SetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 113);
935
+ exports.SetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 115);
915
936
  /**
916
937
  * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyRequest.
917
938
  * Use `create(GetOrgUpdateCurrencyRequestSchema)` to create a new message.
918
939
  */
919
- exports.GetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 114);
940
+ exports.GetOrgUpdateCurrencyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 116);
920
941
  /**
921
942
  * Describes the message blueapi.cover.v1.GetOrgUpdateCurrencyResponse.
922
943
  * Use `create(GetOrgUpdateCurrencyResponseSchema)` to create a new message.
923
944
  */
924
- exports.GetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 115);
945
+ exports.GetOrgUpdateCurrencyResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 117);
925
946
  /**
926
947
  * Describes the message blueapi.cover.v1.ListExchangeRatesRequest.
927
948
  * Use `create(ListExchangeRatesRequestSchema)` to create a new message.
928
949
  */
929
- exports.ListExchangeRatesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 116);
950
+ exports.ListExchangeRatesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 118);
930
951
  /**
931
952
  * Describes the message blueapi.cover.v1.ListExchangeRatesResponse.
932
953
  * Use `create(ListExchangeRatesResponseSchema)` to create a new message.
933
954
  */
934
- exports.ListExchangeRatesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 117);
955
+ exports.ListExchangeRatesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 119);
935
956
  /**
936
957
  * Describes the message blueapi.cover.v1.ExchangeRates.
937
958
  * Use `create(ExchangeRatesSchema)` to create a new message.
938
959
  */
939
- exports.ExchangeRatesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 118);
960
+ exports.ExchangeRatesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 120);
940
961
  /**
941
962
  * Describes the message blueapi.cover.v1.DeleteViewRequest.
942
963
  * Use `create(DeleteViewRequestSchema)` to create a new message.
943
964
  */
944
- exports.DeleteViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 119);
965
+ exports.DeleteViewRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 121);
945
966
  /**
946
967
  * Describes the message blueapi.cover.v1.DeleteViewResponse.
947
968
  * Use `create(DeleteViewResponseSchema)` to create a new message.
948
969
  */
949
- exports.DeleteViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 120);
970
+ exports.DeleteViewResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 122);
950
971
  /**
951
972
  * Describes the message blueapi.cover.v1.UpdateSideMenuStateRequest.
952
973
  * Use `create(UpdateSideMenuStateRequestSchema)` to create a new message.
953
974
  */
954
- exports.UpdateSideMenuStateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 121);
975
+ exports.UpdateSideMenuStateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 123);
955
976
  /**
956
977
  * Describes the message blueapi.cover.v1.UpdateSideMenuStateResponse.
957
978
  * Use `create(UpdateSideMenuStateResponseSchema)` to create a new message.
958
979
  */
959
- exports.UpdateSideMenuStateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 122);
980
+ exports.UpdateSideMenuStateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 124);
960
981
  /**
961
982
  * Describes the message blueapi.cover.v1.AddSideMenuFavoriteRequest.
962
983
  * Use `create(AddSideMenuFavoriteRequestSchema)` to create a new message.
963
984
  */
964
- exports.AddSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 123);
985
+ exports.AddSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 125);
965
986
  /**
966
987
  * Describes the message blueapi.cover.v1.AddSideMenuFavoriteResponse.
967
988
  * Use `create(AddSideMenuFavoriteResponseSchema)` to create a new message.
968
989
  */
969
- exports.AddSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 124);
990
+ exports.AddSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 126);
970
991
  /**
971
992
  * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteRequest.
972
993
  * Use `create(RemoveSideMenuFavoriteRequestSchema)` to create a new message.
973
994
  */
974
- exports.RemoveSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 125);
995
+ exports.RemoveSideMenuFavoriteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 127);
975
996
  /**
976
997
  * Describes the message blueapi.cover.v1.RemoveSideMenuFavoriteResponse.
977
998
  * Use `create(RemoveSideMenuFavoriteResponseSchema)` to create a new message.
978
999
  */
979
- exports.RemoveSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 126);
1000
+ exports.RemoveSideMenuFavoriteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 128);
980
1001
  /**
981
1002
  * Describes the message blueapi.cover.v1.CreateCostGroupRequest.
982
1003
  * Use `create(CreateCostGroupRequestSchema)` to create a new message.
983
1004
  */
984
- exports.CreateCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 127);
1005
+ exports.CreateCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 129);
985
1006
  /**
986
1007
  * Describes the message blueapi.cover.v1.CreateCostGroupResponse.
987
1008
  * Use `create(CreateCostGroupResponseSchema)` to create a new message.
988
1009
  */
989
- exports.CreateCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 128);
1010
+ exports.CreateCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 130);
990
1011
  /**
991
1012
  * Describes the message blueapi.cover.v1.GetCostGroupsRequest.
992
1013
  * Use `create(GetCostGroupsRequestSchema)` to create a new message.
993
1014
  */
994
- exports.GetCostGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 129);
1015
+ exports.GetCostGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 131);
995
1016
  /**
996
1017
  * Describes the message blueapi.cover.v1.GetCostGroupsResponse.
997
1018
  * Use `create(GetCostGroupsResponseSchema)` to create a new message.
998
1019
  */
999
- exports.GetCostGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 130);
1020
+ exports.GetCostGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 132);
1000
1021
  /**
1001
1022
  * Describes the message blueapi.cover.v1.GetCostGroupDetailsRequest.
1002
1023
  * Use `create(GetCostGroupDetailsRequestSchema)` to create a new message.
1003
1024
  */
1004
- exports.GetCostGroupDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 131);
1025
+ exports.GetCostGroupDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 133);
1005
1026
  /**
1006
1027
  * Describes the message blueapi.cover.v1.GetCostGroupDetailsResponse.
1007
1028
  * Use `create(GetCostGroupDetailsResponseSchema)` to create a new message.
1008
1029
  */
1009
- exports.GetCostGroupDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 132);
1030
+ exports.GetCostGroupDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 134);
1010
1031
  /**
1011
1032
  * Describes the message blueapi.cover.v1.UpdateCostGroupNameRequest.
1012
1033
  * Use `create(UpdateCostGroupNameRequestSchema)` to create a new message.
1013
1034
  */
1014
- exports.UpdateCostGroupNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 133);
1035
+ exports.UpdateCostGroupNameRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 135);
1015
1036
  /**
1016
1037
  * Describes the message blueapi.cover.v1.UpdateCostGroupNameResponse.
1017
1038
  * Use `create(UpdateCostGroupNameResponseSchema)` to create a new message.
1018
1039
  */
1019
- exports.UpdateCostGroupNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 134);
1040
+ exports.UpdateCostGroupNameResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 136);
1020
1041
  /**
1021
1042
  * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionRequest.
1022
1043
  * Use `create(UpdateCostGroupDescriptionRequestSchema)` to create a new message.
1023
1044
  */
1024
- exports.UpdateCostGroupDescriptionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 135);
1045
+ exports.UpdateCostGroupDescriptionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 137);
1025
1046
  /**
1026
1047
  * Describes the message blueapi.cover.v1.UpdateCostGroupDescriptionResponse.
1027
1048
  * Use `create(UpdateCostGroupDescriptionResponseSchema)` to create a new message.
1028
1049
  */
1029
- exports.UpdateCostGroupDescriptionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 136);
1050
+ exports.UpdateCostGroupDescriptionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 138);
1030
1051
  /**
1031
1052
  * Describes the message blueapi.cover.v1.UpdateCostGroupImageRequest.
1032
1053
  * Use `create(UpdateCostGroupImageRequestSchema)` to create a new message.
1033
1054
  */
1034
- exports.UpdateCostGroupImageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 137);
1055
+ exports.UpdateCostGroupImageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 139);
1035
1056
  /**
1036
1057
  * Describes the message blueapi.cover.v1.UpdateCostGroupImageResponse.
1037
1058
  * Use `create(UpdateCostGroupImageResponseSchema)` to create a new message.
1038
1059
  */
1039
- exports.UpdateCostGroupImageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 138);
1060
+ exports.UpdateCostGroupImageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 140);
1040
1061
  /**
1041
1062
  * Describes the message blueapi.cover.v1.UpdateCostGroupIconRequest.
1042
1063
  * Use `create(UpdateCostGroupIconRequestSchema)` to create a new message.
1043
1064
  */
1044
- exports.UpdateCostGroupIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 139);
1065
+ exports.UpdateCostGroupIconRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 141);
1045
1066
  /**
1046
1067
  * Describes the message blueapi.cover.v1.UpdateCostGroupIconResponse.
1047
1068
  * Use `create(UpdateCostGroupIconResponseSchema)` to create a new message.
1048
1069
  */
1049
- exports.UpdateCostGroupIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 140);
1070
+ exports.UpdateCostGroupIconResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 142);
1050
1071
  /**
1051
1072
  * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeRequest.
1052
1073
  * Use `create(UpdateCostGroupColorThemeRequestSchema)` to create a new message.
1053
1074
  */
1054
- exports.UpdateCostGroupColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 141);
1075
+ exports.UpdateCostGroupColorThemeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 143);
1055
1076
  /**
1056
1077
  * Describes the message blueapi.cover.v1.UpdateCostGroupColorThemeResponse.
1057
1078
  * Use `create(UpdateCostGroupColorThemeResponseSchema)` to create a new message.
1058
1079
  */
1059
- exports.UpdateCostGroupColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 142);
1080
+ exports.UpdateCostGroupColorThemeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 144);
1060
1081
  /**
1061
1082
  * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsRequest.
1062
1083
  * Use `create(UpdateCostGroupCombinationsRequestSchema)` to create a new message.
1063
1084
  */
1064
- exports.UpdateCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 143);
1085
+ exports.UpdateCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 145);
1065
1086
  /**
1066
1087
  * Describes the message blueapi.cover.v1.UpdateCostGroupCombinationsResponse.
1067
1088
  * Use `create(UpdateCostGroupCombinationsResponseSchema)` to create a new message.
1068
1089
  */
1069
- exports.UpdateCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 144);
1090
+ exports.UpdateCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 146);
1070
1091
  /**
1071
1092
  * Describes the message blueapi.cover.v1.AssignCostGroupMemberRequest.
1072
1093
  * Use `create(AssignCostGroupMemberRequestSchema)` to create a new message.
1073
1094
  */
1074
- exports.AssignCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 145);
1095
+ exports.AssignCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 147);
1075
1096
  /**
1076
1097
  * Describes the message blueapi.cover.v1.AssignCostGroupMemberResponse.
1077
1098
  * Use `create(AssignCostGroupMemberResponseSchema)` to create a new message.
1078
1099
  */
1079
- exports.AssignCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 146);
1100
+ exports.AssignCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 148);
1080
1101
  /**
1081
1102
  * Describes the message blueapi.cover.v1.RemoveCostGroupMemberRequest.
1082
1103
  * Use `create(RemoveCostGroupMemberRequestSchema)` to create a new message.
1083
1104
  */
1084
- exports.RemoveCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 147);
1105
+ exports.RemoveCostGroupMemberRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 149);
1085
1106
  /**
1086
1107
  * Describes the message blueapi.cover.v1.RemoveCostGroupMemberResponse.
1087
1108
  * Use `create(RemoveCostGroupMemberResponseSchema)` to create a new message.
1088
1109
  */
1089
- exports.RemoveCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 148);
1110
+ exports.RemoveCostGroupMemberResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 150);
1090
1111
  /**
1091
1112
  * Describes the message blueapi.cover.v1.DeleteCostGroupRequest.
1092
1113
  * Use `create(DeleteCostGroupRequestSchema)` to create a new message.
1093
1114
  */
1094
- exports.DeleteCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 149);
1115
+ exports.DeleteCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 151);
1095
1116
  /**
1096
1117
  * Describes the message blueapi.cover.v1.DeleteCostGroupResponse.
1097
1118
  * Use `create(DeleteCostGroupResponseSchema)` to create a new message.
1098
1119
  */
1099
- exports.DeleteCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 150);
1120
+ exports.DeleteCostGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 152);
1100
1121
  /**
1101
1122
  * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlRequest.
1102
1123
  * Use `create(GetAccountAccessTemplateUrlRequestSchema)` to create a new message.
1103
1124
  */
1104
- exports.GetAccountAccessTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 151);
1125
+ exports.GetAccountAccessTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 153);
1105
1126
  /**
1106
1127
  * Describes the message blueapi.cover.v1.GetAccountAccessTemplateUrlResponse.
1107
1128
  * Use `create(GetAccountAccessTemplateUrlResponseSchema)` to create a new message.
1108
1129
  */
1109
- exports.GetAccountAccessTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 152);
1130
+ exports.GetAccountAccessTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 154);
1110
1131
  /**
1111
1132
  * Describes the message blueapi.cover.v1.ListAccountAccessRequest.
1112
1133
  * Use `create(ListAccountAccessRequestSchema)` to create a new message.
1113
1134
  */
1114
- exports.ListAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 153);
1135
+ exports.ListAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 155);
1115
1136
  /**
1116
1137
  * Describes the message blueapi.cover.v1.GetAccountAccessRequest.
1117
1138
  * Use `create(GetAccountAccessRequestSchema)` to create a new message.
1118
1139
  */
1119
- exports.GetAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 154);
1140
+ exports.GetAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 156);
1120
1141
  /**
1121
1142
  * Describes the message blueapi.cover.v1.AccountAccess.
1122
1143
  * Use `create(AccountAccessSchema)` to create a new message.
1123
1144
  */
1124
- exports.AccountAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 155);
1145
+ exports.AccountAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 157);
1125
1146
  /**
1126
1147
  * Describes the message blueapi.cover.v1.CreateAccountAccessRequest.
1127
1148
  * Use `create(CreateAccountAccessRequestSchema)` to create a new message.
1128
1149
  */
1129
- exports.CreateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 156);
1150
+ exports.CreateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 158);
1130
1151
  /**
1131
1152
  * Describes the message blueapi.cover.v1.CreateAccountAccessStacksetRequest.
1132
1153
  * Use `create(CreateAccountAccessStacksetRequestSchema)` to create a new message.
1133
1154
  */
1134
- exports.CreateAccountAccessStacksetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 157);
1155
+ exports.CreateAccountAccessStacksetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 159);
1135
1156
  /**
1136
1157
  * Describes the message blueapi.cover.v1.UpdateAccountAccessRequest.
1137
1158
  * Use `create(UpdateAccountAccessRequestSchema)` to create a new message.
1138
1159
  */
1139
- exports.UpdateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 158);
1160
+ exports.UpdateAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 160);
1140
1161
  /**
1141
1162
  * Describes the message blueapi.cover.v1.DeleteAccountAccessRequest.
1142
1163
  * Use `create(DeleteAccountAccessRequestSchema)` to create a new message.
1143
1164
  */
1144
- exports.DeleteAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 159);
1165
+ exports.DeleteAccountAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 161);
1145
1166
  /**
1146
1167
  * Describes the message blueapi.cover.v1.DeleteAccountAccessResponse.
1147
1168
  * Use `create(DeleteAccountAccessResponseSchema)` to create a new message.
1148
1169
  */
1149
- exports.DeleteAccountAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 160);
1170
+ exports.DeleteAccountAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 162);
1150
1171
  /**
1151
1172
  * Describes the message blueapi.cover.v1.RegisterAccountRequest.
1152
1173
  * Use `create(RegisterAccountRequestSchema)` to create a new message.
1153
1174
  */
1154
- exports.RegisterAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 161);
1175
+ exports.RegisterAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 163);
1155
1176
  /**
1156
1177
  * Describes the message blueapi.cover.v1.ListAssetsRequest.
1157
1178
  * Use `create(ListAssetsRequestSchema)` to create a new message.
1158
1179
  */
1159
- exports.ListAssetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 162);
1180
+ exports.ListAssetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 164);
1160
1181
  /**
1161
1182
  * Describes the message blueapi.cover.v1.ListAssetsFilters.
1162
1183
  * Use `create(ListAssetsFiltersSchema)` to create a new message.
1163
1184
  */
1164
- exports.ListAssetsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 163);
1185
+ exports.ListAssetsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 165);
1165
1186
  /**
1166
1187
  * Describes the message blueapi.cover.v1.Resource.
1167
1188
  * Use `create(ResourceSchema)` to create a new message.
1168
1189
  */
1169
- exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 164);
1190
+ exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 166);
1170
1191
  /**
1171
1192
  * Describes the message blueapi.cover.v1.GetAssetsSummaryRequest.
1172
1193
  * Use `create(GetAssetsSummaryRequestSchema)` to create a new message.
1173
1194
  */
1174
- exports.GetAssetsSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 165);
1195
+ exports.GetAssetsSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 167);
1175
1196
  /**
1176
1197
  * Describes the message blueapi.cover.v1.GetAssetsSummaryResponse.
1177
1198
  * Use `create(GetAssetsSummaryResponseSchema)` to create a new message.
1178
1199
  */
1179
- exports.GetAssetsSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 166);
1200
+ exports.GetAssetsSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 168);
1180
1201
  /**
1181
1202
  * Describes the message blueapi.cover.v1.AssetsSummary.
1182
1203
  * Use `create(AssetsSummarySchema)` to create a new message.
1183
1204
  */
1184
- exports.AssetsSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 167);
1205
+ exports.AssetsSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 169);
1185
1206
  /**
1186
1207
  * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsRequest.
1187
1208
  * Use `create(ResolveCostGroupCombinationsRequestSchema)` to create a new message.
1188
1209
  */
1189
- exports.ResolveCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 168);
1210
+ exports.ResolveCostGroupCombinationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 170);
1190
1211
  /**
1191
1212
  * Describes the message blueapi.cover.v1.ResolveCostGroupCombinationsResponse.
1192
1213
  * Use `create(ResolveCostGroupCombinationsResponseSchema)` to create a new message.
1193
1214
  */
1194
- exports.ResolveCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 169);
1215
+ exports.ResolveCostGroupCombinationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 171);
1195
1216
  /**
1196
1217
  * Describes the message blueapi.cover.v1.GetCostUsageRequest.
1197
1218
  * Use `create(GetCostUsageRequestSchema)` to create a new message.
1198
1219
  */
1199
- exports.GetCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 170);
1220
+ exports.GetCostUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 172);
1200
1221
  /**
1201
1222
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAwsOptions.
1202
1223
  * Use `create(GetCostUsageRequestAwsOptionsSchema)` to create a new message.
1203
1224
  */
1204
- exports.GetCostUsageRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 171);
1225
+ exports.GetCostUsageRequestAwsOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 173);
1205
1226
  /**
1206
1227
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureOptions.
1207
1228
  * Use `create(GetCostUsageRequestAzureOptionsSchema)` to create a new message.
1208
1229
  */
1209
- exports.GetCostUsageRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 172);
1230
+ exports.GetCostUsageRequestAzureOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 174);
1210
1231
  /**
1211
1232
  * Describes the message blueapi.cover.v1.GetCostUsageRequestGcpOptions.
1212
1233
  * Use `create(GetCostUsageRequestGcpOptionsSchema)` to create a new message.
1213
1234
  */
1214
- exports.GetCostUsageRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 173);
1235
+ exports.GetCostUsageRequestGcpOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 175);
1215
1236
  /**
1216
1237
  * Describes the message blueapi.cover.v1.GetCostUsageRequestAzureCspOptions.
1217
1238
  * Use `create(GetCostUsageRequestAzureCspOptionsSchema)` to create a new message.
1218
1239
  */
1219
- exports.GetCostUsageRequestAzureCspOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 174);
1240
+ exports.GetCostUsageRequestAzureCspOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 176);
1220
1241
  /**
1221
1242
  * Describes the message blueapi.cover.v1.GetCostUsageRequestCustomOptions.
1222
1243
  * Use `create(GetCostUsageRequestCustomOptionsSchema)` to create a new message.
1223
1244
  */
1224
- exports.GetCostUsageRequestCustomOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 175);
1245
+ exports.GetCostUsageRequestCustomOptionsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 177);
1225
1246
  /**
1226
1247
  * Describes the message blueapi.cover.v1.ReadCostsRequestOptionsFilters.
1227
1248
  * Use `create(ReadCostsRequestOptionsFiltersSchema)` to create a new message.
1228
1249
  */
1229
- exports.ReadCostsRequestOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 176);
1250
+ exports.ReadCostsRequestOptionsFiltersSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 178);
1230
1251
  /**
1231
1252
  * Describes the message blueapi.cover.v1.CostItem.
1232
1253
  * Use `create(CostItemSchema)` to create a new message.
1233
1254
  */
1234
- exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 177);
1255
+ exports.CostItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 179);
1235
1256
  /**
1236
1257
  * Describes the message blueapi.cover.v1.GetRightSizingRecommendationRequest.
1237
1258
  * Use `create(GetRightSizingRecommendationRequestSchema)` to create a new message.
1238
1259
  */
1239
- exports.GetRightSizingRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 178);
1260
+ exports.GetRightSizingRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 180);
1240
1261
  /**
1241
1262
  * Describes the message blueapi.cover.v1.GetRightSizingRecommendationResponse.
1242
1263
  * Use `create(GetRightSizingRecommendationResponseSchema)` to create a new message.
1243
1264
  */
1244
- exports.GetRightSizingRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 179);
1265
+ exports.GetRightSizingRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 181);
1245
1266
  /**
1246
1267
  * Describes the message blueapi.cover.v1.ModifyResourceTypeRequest.
1247
1268
  * Use `create(ModifyResourceTypeRequestSchema)` to create a new message.
1248
1269
  */
1249
- exports.ModifyResourceTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 180);
1270
+ exports.ModifyResourceTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182);
1250
1271
  /**
1251
1272
  * Describes the message blueapi.cover.v1.ModifyResourceTypeResponse.
1252
1273
  * Use `create(ModifyResourceTypeResponseSchema)` to create a new message.
1253
1274
  */
1254
- exports.ModifyResourceTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 181);
1275
+ exports.ModifyResourceTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 183);
1255
1276
  /**
1256
1277
  * Describes the message blueapi.cover.v1.TerminateResourceRequest.
1257
1278
  * Use `create(TerminateResourceRequestSchema)` to create a new message.
1258
1279
  */
1259
- exports.TerminateResourceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 182);
1280
+ exports.TerminateResourceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184);
1260
1281
  /**
1261
1282
  * Describes the message blueapi.cover.v1.TerminateResourceResponse.
1262
1283
  * Use `create(TerminateResourceResponseSchema)` to create a new message.
1263
1284
  */
1264
- exports.TerminateResourceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 183);
1285
+ exports.TerminateResourceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 185);
1265
1286
  /**
1266
1287
  * Describes the message blueapi.cover.v1.UploadChargeCodeRequest.
1267
1288
  * Use `create(UploadChargeCodeRequestSchema)` to create a new message.
1268
1289
  */
1269
- exports.UploadChargeCodeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 184);
1290
+ exports.UploadChargeCodeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 186);
1270
1291
  /**
1271
1292
  * Describes the message blueapi.cover.v1.UploadChargeCodeResponse.
1272
1293
  * Use `create(UploadChargeCodeResponseSchema)` to create a new message.
1273
1294
  */
1274
- exports.UploadChargeCodeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 185);
1295
+ exports.UploadChargeCodeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 187);
1275
1296
  /**
1276
1297
  * Describes the message blueapi.cover.v1.AssignPayerRequest.
1277
1298
  * Use `create(AssignPayerRequestSchema)` to create a new message.
1278
1299
  */
1279
- exports.AssignPayerRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 186);
1300
+ exports.AssignPayerRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 188);
1280
1301
  /**
1281
1302
  * Describes the message blueapi.cover.v1.AssignPayerResponse.
1282
1303
  * Use `create(AssignPayerResponseSchema)` to create a new message.
1283
1304
  */
1284
- exports.AssignPayerResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 187);
1305
+ exports.AssignPayerResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 189);
1285
1306
  /**
1286
1307
  * Describes the message blueapi.cover.v1.GetPayersRequest.
1287
1308
  * Use `create(GetPayersRequestSchema)` to create a new message.
1288
1309
  */
1289
- exports.GetPayersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 188);
1310
+ exports.GetPayersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 190);
1290
1311
  /**
1291
1312
  * Describes the message blueapi.cover.v1.GetPayersResponse.
1292
1313
  * Use `create(GetPayersResponseSchema)` to create a new message.
1293
1314
  */
1294
- exports.GetPayersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 189);
1315
+ exports.GetPayersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 191);
1295
1316
  /**
1296
1317
  * Describes the message blueapi.cover.v1.GetAccountsRequest.
1297
1318
  * Use `create(GetAccountsRequestSchema)` to create a new message.
1298
1319
  */
1299
- exports.GetAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 190);
1320
+ exports.GetAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 192);
1300
1321
  /**
1301
1322
  * Describes the message blueapi.cover.v1.GetAccountsResponse.
1302
1323
  * Use `create(GetAccountsResponseSchema)` to create a new message.
1303
1324
  */
1304
- exports.GetAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 191);
1325
+ exports.GetAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 193);
1305
1326
  /**
1306
1327
  * Describes the message blueapi.cover.v1.GetServicesRequest.
1307
1328
  * Use `create(GetServicesRequestSchema)` to create a new message.
1308
1329
  */
1309
- exports.GetServicesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 192);
1330
+ exports.GetServicesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194);
1310
1331
  /**
1311
1332
  * Describes the message blueapi.cover.v1.GetServicesResponse.
1312
1333
  * Use `create(GetServicesResponseSchema)` to create a new message.
1313
1334
  */
1314
- exports.GetServicesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 193);
1335
+ exports.GetServicesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 195);
1315
1336
  /**
1316
1337
  * Describes the message blueapi.cover.v1.GetRegionsRequest.
1317
1338
  * Use `create(GetRegionsRequestSchema)` to create a new message.
1318
1339
  */
1319
- exports.GetRegionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 194);
1340
+ exports.GetRegionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196);
1320
1341
  /**
1321
1342
  * Describes the message blueapi.cover.v1.GetRegionsResponse.
1322
1343
  * Use `create(GetRegionsResponseSchema)` to create a new message.
1323
1344
  */
1324
- exports.GetRegionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 195);
1345
+ exports.GetRegionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 197);
1325
1346
  /**
1326
1347
  * Describes the message blueapi.cover.v1.GetTagsRequest.
1327
1348
  * Use `create(GetTagsRequestSchema)` to create a new message.
1328
1349
  */
1329
- exports.GetTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 196);
1350
+ exports.GetTagsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 198);
1330
1351
  /**
1331
1352
  * Describes the message blueapi.cover.v1.GetTagsResponse.
1332
1353
  * Use `create(GetTagsResponseSchema)` to create a new message.
1333
1354
  */
1334
- exports.GetTagsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 197);
1355
+ exports.GetTagsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 199);
1335
1356
  /**
1336
1357
  * Describes the message blueapi.cover.v1.ListFeesRequest.
1337
1358
  * Use `create(ListFeesRequestSchema)` to create a new message.
1338
1359
  */
1339
- exports.ListFeesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 198);
1360
+ exports.ListFeesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 200);
1340
1361
  /**
1341
1362
  * Describes the message blueapi.cover.v1.FeeDetails.
1342
1363
  * Use `create(FeeDetailsSchema)` to create a new message.
1343
1364
  */
1344
- exports.FeeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 199);
1365
+ exports.FeeDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 201);
1345
1366
  /**
1346
1367
  * Describes the message blueapi.cover.v1.RestoreFeeRequest.
1347
1368
  * Use `create(RestoreFeeRequestSchema)` to create a new message.
1348
1369
  */
1349
- exports.RestoreFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 200);
1370
+ exports.RestoreFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 202);
1350
1371
  /**
1351
1372
  * Describes the message blueapi.cover.v1.GetCostGroupFeeRequest.
1352
1373
  * Use `create(GetCostGroupFeeRequestSchema)` to create a new message.
1353
1374
  */
1354
- exports.GetCostGroupFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 201);
1375
+ exports.GetCostGroupFeeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 203);
1355
1376
  /**
1356
1377
  * Describes the message blueapi.cover.v1.FeeItem.
1357
1378
  * Use `create(FeeItemSchema)` to create a new message.
1358
1379
  */
1359
- exports.FeeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 202);
1380
+ exports.FeeItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 204);
1360
1381
  /**
1361
1382
  * Describes the message blueapi.cover.v1.Allocator.
1362
1383
  * Use `create(AllocatorSchema)` to create a new message.
1363
1384
  */
1364
- exports.AllocatorSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 203);
1385
+ exports.AllocatorSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 205);
1365
1386
  /**
1366
1387
  * Describes the message blueapi.cover.v1.Criteria.
1367
1388
  * Use `create(CriteriaSchema)` to create a new message.
1368
1389
  */
1369
- exports.CriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 204);
1390
+ exports.CriteriaSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 206);
1370
1391
  /**
1371
1392
  * Describes the message blueapi.cover.v1.CostAllocatorDetails.
1372
1393
  * Use `create(CostAllocatorDetailsSchema)` to create a new message.
1373
1394
  */
1374
- exports.CostAllocatorDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 205);
1395
+ exports.CostAllocatorDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 207);
1375
1396
  /**
1376
1397
  * Describes the message blueapi.cover.v1.CostAllocatorRequest.
1377
1398
  * Use `create(CostAllocatorRequestSchema)` to create a new message.
1378
1399
  */
1379
- exports.CostAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 206);
1400
+ exports.CostAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 208);
1380
1401
  /**
1381
1402
  * Describes the message blueapi.cover.v1.ListAllocatorsRequest.
1382
1403
  * Use `create(ListAllocatorsRequestSchema)` to create a new message.
1383
1404
  */
1384
- exports.ListAllocatorsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 207);
1405
+ exports.ListAllocatorsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 209);
1385
1406
  /**
1386
1407
  * Describes the message blueapi.cover.v1.CreateAllocatorRequest.
1387
1408
  * Use `create(CreateAllocatorRequestSchema)` to create a new message.
1388
1409
  */
1389
- exports.CreateAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 208);
1410
+ exports.CreateAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210);
1390
1411
  /**
1391
1412
  * Describes the message blueapi.cover.v1.GetAllocationAttributesRequest.
1392
1413
  * Use `create(GetAllocationAttributesRequestSchema)` to create a new message.
1393
1414
  */
1394
- exports.GetAllocationAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 209);
1415
+ exports.GetAllocationAttributesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 211);
1395
1416
  /**
1396
1417
  * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.
1397
1418
  * Use `create(GetAllocationAttributesResponseSchema)` to create a new message.
1398
1419
  */
1399
- exports.GetAllocationAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210);
1420
+ exports.GetAllocationAttributesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212);
1400
1421
  /**
1401
1422
  * Describes the message blueapi.cover.v1.GetAllocationAttributesResponse.AllocationAttribute.
1402
1423
  * Use `create(GetAllocationAttributesResponse_AllocationAttributeSchema)` to create a new message.
1403
1424
  */
1404
- exports.GetAllocationAttributesResponse_AllocationAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 210, 0);
1425
+ exports.GetAllocationAttributesResponse_AllocationAttributeSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212, 0);
1405
1426
  /**
1406
1427
  * Describes the message blueapi.cover.v1.GetAllocationSourcesRequest.
1407
1428
  * Use `create(GetAllocationSourcesRequestSchema)` to create a new message.
1408
1429
  */
1409
- exports.GetAllocationSourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 211);
1430
+ exports.GetAllocationSourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 213);
1410
1431
  /**
1411
1432
  * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.
1412
1433
  * Use `create(GetAllocationSourcesResponseSchema)` to create a new message.
1413
1434
  */
1414
- exports.GetAllocationSourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212);
1435
+ exports.GetAllocationSourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214);
1415
1436
  /**
1416
1437
  * Describes the message blueapi.cover.v1.GetAllocationSourcesResponse.AllocationSources.
1417
1438
  * Use `create(GetAllocationSourcesResponse_AllocationSourcesSchema)` to create a new message.
1418
1439
  */
1419
- exports.GetAllocationSourcesResponse_AllocationSourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 212, 0);
1440
+ exports.GetAllocationSourcesResponse_AllocationSourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214, 0);
1420
1441
  /**
1421
1442
  * Describes the message blueapi.cover.v1.DeleteAllocatorRequest.
1422
1443
  * Use `create(DeleteAllocatorRequestSchema)` to create a new message.
1423
1444
  */
1424
- exports.DeleteAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 213);
1445
+ exports.DeleteAllocatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 215);
1425
1446
  /**
1426
1447
  * Describes the message blueapi.cover.v1.ProxyCreateCompletionRequest.
1427
1448
  * Use `create(ProxyCreateCompletionRequestSchema)` to create a new message.
1428
1449
  */
1429
- exports.ProxyCreateCompletionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 214);
1450
+ exports.ProxyCreateCompletionRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 216);
1430
1451
  /**
1431
1452
  * Describes the message blueapi.cover.v1.ProxyCreateCompletionResponse.
1432
1453
  * Use `create(ProxyCreateCompletionResponseSchema)` to create a new message.
1433
1454
  */
1434
- exports.ProxyCreateCompletionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 215);
1455
+ exports.ProxyCreateCompletionResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 217);
1435
1456
  /**
1436
1457
  * Describes the message blueapi.cover.v1.AccountUsageDetails.
1437
1458
  * Use `create(AccountUsageDetailsSchema)` to create a new message.
1438
1459
  */
1439
- exports.AccountUsageDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 216);
1460
+ exports.AccountUsageDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 218);
1440
1461
  /**
1441
1462
  * Describes the message blueapi.cover.v1.ListAccountUsageRequest.
1442
1463
  * Use `create(ListAccountUsageRequestSchema)` to create a new message.
1443
1464
  */
1444
- exports.ListAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 217);
1465
+ exports.ListAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 219);
1445
1466
  /**
1446
1467
  * Describes the message blueapi.cover.v1.RestoreAccountUsageRequest.
1447
1468
  * Use `create(RestoreAccountUsageRequestSchema)` to create a new message.
1448
1469
  */
1449
- exports.RestoreAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 218);
1470
+ exports.RestoreAccountUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 220);
1450
1471
  /**
1451
1472
  * Describes the message blueapi.cover.v1.RestoreSavingsRequest.
1452
1473
  * Use `create(RestoreSavingsRequestSchema)` to create a new message.
1453
1474
  */
1454
- exports.RestoreSavingsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 219);
1475
+ exports.RestoreSavingsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 221);
1455
1476
  /**
1456
1477
  * Describes the message blueapi.cover.v1.SavingsDetails.
1457
1478
  * Use `create(SavingsDetailsSchema)` to create a new message.
1458
1479
  */
1459
- exports.SavingsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 220);
1480
+ exports.SavingsDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 222);
1460
1481
  /**
1461
1482
  * Describes the message blueapi.cover.v1.GetCostGroupAllocationRequest.
1462
1483
  * Use `create(GetCostGroupAllocationRequestSchema)` to create a new message.
1463
1484
  */
1464
- exports.GetCostGroupAllocationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 221);
1485
+ exports.GetCostGroupAllocationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 223);
1465
1486
  /**
1466
1487
  * Describes the message blueapi.cover.v1.AllocationItem.
1467
1488
  * Use `create(AllocationItemSchema)` to create a new message.
1468
1489
  */
1469
- exports.AllocationItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 222);
1490
+ exports.AllocationItemSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 224);
1470
1491
  /**
1471
1492
  * Describes the message blueapi.cover.v1.ProcessAuth0UserRequest.
1472
1493
  * Use `create(ProcessAuth0UserRequestSchema)` to create a new message.
1473
1494
  */
1474
- exports.ProcessAuth0UserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 223);
1495
+ exports.ProcessAuth0UserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 225);
1475
1496
  /**
1476
1497
  * Describes the message blueapi.cover.v1.ProcessAuth0UserResponse.
1477
1498
  * Use `create(ProcessAuth0UserResponseSchema)` to create a new message.
1478
1499
  */
1479
- exports.ProcessAuth0UserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 224);
1500
+ exports.ProcessAuth0UserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 226);
1480
1501
  /**
1481
1502
  * Describes the message blueapi.cover.v1.DataAccess.
1482
1503
  * Use `create(DataAccessSchema)` to create a new message.
1483
1504
  */
1484
- exports.DataAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 225);
1505
+ exports.DataAccessSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 227);
1485
1506
  /**
1486
1507
  * Describes the message blueapi.cover.v1.RegisterDataAccessRequest.
1487
1508
  * Use `create(RegisterDataAccessRequestSchema)` to create a new message.
1488
1509
  */
1489
- exports.RegisterDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 226);
1510
+ exports.RegisterDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 228);
1490
1511
  /**
1491
1512
  * Describes the message blueapi.cover.v1.UpdateDataAccessRequest.
1492
1513
  * Use `create(UpdateDataAccessRequestSchema)` to create a new message.
1493
1514
  */
1494
- exports.UpdateDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 227);
1515
+ exports.UpdateDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 229);
1495
1516
  /**
1496
1517
  * Describes the message blueapi.cover.v1.ListDataAccessRequest.
1497
1518
  * Use `create(ListDataAccessRequestSchema)` to create a new message.
1498
1519
  */
1499
- exports.ListDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 228);
1520
+ exports.ListDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 230);
1500
1521
  /**
1501
1522
  * Describes the message blueapi.cover.v1.ListUnregisteredAccountsRequest.
1502
1523
  * Use `create(ListUnregisteredAccountsRequestSchema)` to create a new message.
1503
1524
  */
1504
- exports.ListUnregisteredAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 229);
1525
+ exports.ListUnregisteredAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 231);
1505
1526
  /**
1506
1527
  * Describes the message blueapi.cover.v1.ListUnregisteredAccountsResponse.
1507
1528
  * Use `create(ListUnregisteredAccountsResponseSchema)` to create a new message.
1508
1529
  */
1509
- exports.ListUnregisteredAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 230);
1530
+ exports.ListUnregisteredAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 232);
1510
1531
  /**
1511
1532
  * Describes the message blueapi.cover.v1.UnregisteredAccts.
1512
1533
  * Use `create(UnregisteredAcctsSchema)` to create a new message.
1513
1534
  */
1514
- exports.UnregisteredAcctsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 231);
1535
+ exports.UnregisteredAcctsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 233);
1515
1536
  /**
1516
1537
  * Describes the message blueapi.cover.v1.BillingAccountRequest.
1517
1538
  * Use `create(BillingAccountRequestSchema)` to create a new message.
1518
1539
  */
1519
- exports.BillingAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 232);
1540
+ exports.BillingAccountRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 234);
1520
1541
  /**
1521
1542
  * Describes the message blueapi.cover.v1.GetAndDeleteDataAccessRequest.
1522
1543
  * Use `create(GetAndDeleteDataAccessRequestSchema)` to create a new message.
1523
1544
  */
1524
- exports.GetAndDeleteDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 233);
1545
+ exports.GetAndDeleteDataAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 235);
1525
1546
  /**
1526
1547
  * Describes the message blueapi.cover.v1.AddPartnerCenterCredentialsRequest.
1527
1548
  * Use `create(AddPartnerCenterCredentialsRequestSchema)` to create a new message.
1528
1549
  */
1529
- exports.AddPartnerCenterCredentialsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 234);
1550
+ exports.AddPartnerCenterCredentialsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 236);
1530
1551
  /**
1531
1552
  * Describes the message blueapi.cover.v1.AddMpnSettingRequest.
1532
1553
  * Use `create(AddMpnSettingRequestSchema)` to create a new message.
1533
1554
  */
1534
- exports.AddMpnSettingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 235);
1555
+ exports.AddMpnSettingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 237);
1535
1556
  /**
1536
1557
  * Describes the message blueapi.cover.v1.GetCostGroupAttributeRequest.
1537
1558
  * Use `create(GetCostGroupAttributeRequestSchema)` to create a new message.
1538
1559
  */
1539
- exports.GetCostGroupAttributeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 236);
1560
+ exports.GetCostGroupAttributeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 238);
1540
1561
  /**
1541
1562
  * Describes the message blueapi.cover.v1.GetCostGroupAttributeResponse.
1542
1563
  * Use `create(GetCostGroupAttributeResponseSchema)` to create a new message.
1543
1564
  */
1544
- exports.GetCostGroupAttributeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 237);
1565
+ exports.GetCostGroupAttributeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 239);
1545
1566
  /**
1546
1567
  * Describes the message blueapi.cover.v1.GetCategoriesRequest.
1547
1568
  * Use `create(GetCategoriesRequestSchema)` to create a new message.
1548
1569
  */
1549
- exports.GetCategoriesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 238);
1570
+ exports.GetCategoriesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 240);
1550
1571
  /**
1551
1572
  * Describes the message blueapi.cover.v1.GetCategoriesResponse.
1552
1573
  * Use `create(GetCategoriesResponseSchema)` to create a new message.
1553
1574
  */
1554
- exports.GetCategoriesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 239);
1575
+ exports.GetCategoriesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 241);
1555
1576
  /**
1556
1577
  * Describes the message blueapi.cover.v1.GetAlertsRequest.
1557
1578
  * Use `create(GetAlertsRequestSchema)` to create a new message.
1558
1579
  */
1559
- exports.GetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 240);
1580
+ exports.GetAlertsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 242);
1560
1581
  /**
1561
1582
  * Describes the message blueapi.cover.v1.GetAlertsResponse.
1562
1583
  * Use `create(GetAlertsResponseSchema)` to create a new message.
1563
1584
  */
1564
- exports.GetAlertsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 241);
1585
+ exports.GetAlertsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 243);
1565
1586
  /**
1566
1587
  * Describes the message blueapi.cover.v1.CreateAlertRequest.
1567
1588
  * Use `create(CreateAlertRequestSchema)` to create a new message.
1568
1589
  */
1569
- exports.CreateAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 242);
1590
+ exports.CreateAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 244);
1570
1591
  /**
1571
1592
  * Describes the message blueapi.cover.v1.CreateAlertResponse.
1572
1593
  * Use `create(CreateAlertResponseSchema)` to create a new message.
1573
1594
  */
1574
- exports.CreateAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 243);
1595
+ exports.CreateAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 245);
1575
1596
  /**
1576
1597
  * Describes the message blueapi.cover.v1.GetAlertDetailsRequest.
1577
1598
  * Use `create(GetAlertDetailsRequestSchema)` to create a new message.
1578
1599
  */
1579
- exports.GetAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 244);
1600
+ exports.GetAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 246);
1580
1601
  /**
1581
1602
  * Describes the message blueapi.cover.v1.GetAlertDetailsResponse.
1582
1603
  * Use `create(GetAlertDetailsResponseSchema)` to create a new message.
1583
1604
  */
1584
- exports.GetAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 245);
1605
+ exports.GetAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 247);
1585
1606
  /**
1586
1607
  * Describes the message blueapi.cover.v1.DeleteAlertRequest.
1587
1608
  * Use `create(DeleteAlertRequestSchema)` to create a new message.
1588
1609
  */
1589
- exports.DeleteAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 246);
1610
+ exports.DeleteAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 248);
1590
1611
  /**
1591
1612
  * Describes the message blueapi.cover.v1.DeleteAlertResponse.
1592
1613
  * Use `create(DeleteAlertResponseSchema)` to create a new message.
1593
1614
  */
1594
- exports.DeleteAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 247);
1615
+ exports.DeleteAlertResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 249);
1595
1616
  /**
1596
1617
  * Describes the message blueapi.cover.v1.UpdateAlertDetailsRequest.
1597
1618
  * Use `create(UpdateAlertDetailsRequestSchema)` to create a new message.
1598
1619
  */
1599
- exports.UpdateAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 248);
1620
+ exports.UpdateAlertDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 250);
1600
1621
  /**
1601
1622
  * Describes the message blueapi.cover.v1.UpdateAlertDetailsResponse.
1602
1623
  * Use `create(UpdateAlertDetailsResponseSchema)` to create a new message.
1603
1624
  */
1604
- exports.UpdateAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 249);
1625
+ exports.UpdateAlertDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 251);
1605
1626
  /**
1606
1627
  * Describes the message blueapi.cover.v1.GetChannelsRequest.
1607
1628
  * Use `create(GetChannelsRequestSchema)` to create a new message.
1608
1629
  */
1609
- exports.GetChannelsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 250);
1630
+ exports.GetChannelsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 252);
1610
1631
  /**
1611
1632
  * Describes the message blueapi.cover.v1.GetChannelsResponse.
1612
1633
  * Use `create(GetChannelsResponseSchema)` to create a new message.
1613
1634
  */
1614
- exports.GetChannelsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 251);
1635
+ exports.GetChannelsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 253);
1615
1636
  /**
1616
1637
  * Describes the message blueapi.cover.v1.CreateChannelRequest.
1617
1638
  * Use `create(CreateChannelRequestSchema)` to create a new message.
1618
1639
  */
1619
- exports.CreateChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 252);
1640
+ exports.CreateChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 254);
1620
1641
  /**
1621
1642
  * Describes the message blueapi.cover.v1.CreateChannelResponse.
1622
1643
  * Use `create(CreateChannelResponseSchema)` to create a new message.
1623
1644
  */
1624
- exports.CreateChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 253);
1645
+ exports.CreateChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 255);
1625
1646
  /**
1626
1647
  * Describes the message blueapi.cover.v1.GetChannelDetailsRequest.
1627
1648
  * Use `create(GetChannelDetailsRequestSchema)` to create a new message.
1628
1649
  */
1629
- exports.GetChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 254);
1650
+ exports.GetChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 256);
1630
1651
  /**
1631
1652
  * Describes the message blueapi.cover.v1.GetChannelDetailsResponse.
1632
1653
  * Use `create(GetChannelDetailsResponseSchema)` to create a new message.
1633
1654
  */
1634
- exports.GetChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 255);
1655
+ exports.GetChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 257);
1635
1656
  /**
1636
1657
  * Describes the message blueapi.cover.v1.DeleteChannelRequest.
1637
1658
  * Use `create(DeleteChannelRequestSchema)` to create a new message.
1638
1659
  */
1639
- exports.DeleteChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 256);
1660
+ exports.DeleteChannelRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 258);
1640
1661
  /**
1641
1662
  * Describes the message blueapi.cover.v1.DeleteChannelResponse.
1642
1663
  * Use `create(DeleteChannelResponseSchema)` to create a new message.
1643
1664
  */
1644
- exports.DeleteChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 257);
1665
+ exports.DeleteChannelResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 259);
1645
1666
  /**
1646
1667
  * Describes the message blueapi.cover.v1.UpdateChannelDetailsRequest.
1647
1668
  * Use `create(UpdateChannelDetailsRequestSchema)` to create a new message.
1648
1669
  */
1649
- exports.UpdateChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 258);
1670
+ exports.UpdateChannelDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 260);
1650
1671
  /**
1651
1672
  * Describes the message blueapi.cover.v1.UpdateChannelDetailsResponse.
1652
1673
  * Use `create(UpdateChannelDetailsResponseSchema)` to create a new message.
1653
1674
  */
1654
- exports.UpdateChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 259);
1675
+ exports.UpdateChannelDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 261);
1655
1676
  /**
1656
1677
  * Describes the message blueapi.cover.v1.GetDiscountRecommendationsRequest.
1657
1678
  * Use `create(GetDiscountRecommendationsRequestSchema)` to create a new message.
1658
1679
  */
1659
- exports.GetDiscountRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 260);
1680
+ exports.GetDiscountRecommendationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 262);
1660
1681
  /**
1661
1682
  * Describes the message blueapi.cover.v1.GetDiscountRecommendationsResponse.
1662
1683
  * Use `create(GetDiscountRecommendationsResponseSchema)` to create a new message.
1663
1684
  */
1664
- exports.GetDiscountRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 261);
1685
+ exports.GetDiscountRecommendationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 263);
1665
1686
  /**
1666
1687
  * Describes the message blueapi.cover.v1.GetAnomalyinCostGroupRequest.
1667
1688
  * Use `create(GetAnomalyinCostGroupRequestSchema)` to create a new message.
1668
1689
  */
1669
- exports.GetAnomalyinCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 262);
1690
+ exports.GetAnomalyinCostGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 264);
1670
1691
  /**
1671
1692
  * Describes the message blueapi.cover.v1.AnomalyData.
1672
1693
  * Use `create(AnomalyDataSchema)` to create a new message.
1673
1694
  */
1674
- exports.AnomalyDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 263);
1695
+ exports.AnomalyDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 265);
1675
1696
  /**
1676
1697
  * Describes the message blueapi.cover.v1.CreateDiscountExpirationAlertRequest.
1677
1698
  * Use `create(CreateDiscountExpirationAlertRequestSchema)` to create a new message.
1678
1699
  */
1679
- exports.CreateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 264);
1700
+ exports.CreateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 266);
1680
1701
  /**
1681
1702
  * Describes the message blueapi.cover.v1.ManipulateDiscountExpirationAlertRequest.
1682
1703
  * Use `create(ManipulateDiscountExpirationAlertRequestSchema)` to create a new message.
1683
1704
  */
1684
- exports.ManipulateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 265);
1705
+ exports.ManipulateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 267);
1685
1706
  /**
1686
1707
  * Describes the message blueapi.cover.v1.UpdateDiscountExpirationAlertRequest.
1687
1708
  * Use `create(UpdateDiscountExpirationAlertRequestSchema)` to create a new message.
1688
1709
  */
1689
- exports.UpdateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 266);
1710
+ exports.UpdateDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 268);
1690
1711
  /**
1691
1712
  * Describes the message blueapi.cover.v1.DiscountExpiryAlertData.
1692
1713
  * Use `create(DiscountExpiryAlertDataSchema)` to create a new message.
1693
1714
  */
1694
- exports.DiscountExpiryAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 267);
1715
+ exports.DiscountExpiryAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 269);
1695
1716
  /**
1696
1717
  * Describes the message blueapi.cover.v1.ListDiscountExpirationAlertRequest.
1697
1718
  * Use `create(ListDiscountExpirationAlertRequestSchema)` to create a new message.
1698
1719
  */
1699
- exports.ListDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 268);
1720
+ exports.ListDiscountExpirationAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 270);
1700
1721
  /**
1701
1722
  * Describes the message blueapi.cover.v1.CreateAnomalyAlertRequest.
1702
1723
  * Use `create(CreateAnomalyAlertRequestSchema)` to create a new message.
1703
1724
  */
1704
- exports.CreateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 269);
1725
+ exports.CreateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 271);
1705
1726
  /**
1706
1727
  * Describes the message blueapi.cover.v1.ManipulateAnomalyAlertRequest.
1707
1728
  * Use `create(ManipulateAnomalyAlertRequestSchema)` to create a new message.
1708
1729
  */
1709
- exports.ManipulateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 270);
1730
+ exports.ManipulateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 272);
1710
1731
  /**
1711
1732
  * Describes the message blueapi.cover.v1.AnomalyAlertData.
1712
1733
  * Use `create(AnomalyAlertDataSchema)` to create a new message.
1713
1734
  */
1714
- exports.AnomalyAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 271);
1735
+ exports.AnomalyAlertDataSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273);
1715
1736
  /**
1716
1737
  * Describes the message blueapi.cover.v1.ListAnomalyAlertRequest.
1717
1738
  * Use `create(ListAnomalyAlertRequestSchema)` to create a new message.
1718
1739
  */
1719
- exports.ListAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 272);
1740
+ exports.ListAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274);
1720
1741
  /**
1721
1742
  * Describes the message blueapi.cover.v1.UpdateAnomalyAlertRequest.
1722
1743
  * Use `create(UpdateAnomalyAlertRequestSchema)` to create a new message.
1723
1744
  */
1724
- exports.UpdateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 273);
1745
+ exports.UpdateAnomalyAlertRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 275);
1725
1746
  /**
1726
1747
  * Describes the message blueapi.cover.v1.RegisterNewUserRequest.
1727
1748
  * Use `create(RegisterNewUserRequestSchema)` to create a new message.
1728
1749
  */
1729
- exports.RegisterNewUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 274);
1750
+ exports.RegisterNewUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 276);
1730
1751
  /**
1731
1752
  * Describes the message blueapi.cover.v1.RegisterNewUserResponse.
1732
1753
  * Use `create(RegisterNewUserResponseSchema)` to create a new message.
1733
1754
  */
1734
- exports.RegisterNewUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 275);
1755
+ exports.RegisterNewUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 277);
1735
1756
  /**
1736
1757
  * Describes the message blueapi.cover.v1.GetUserProfileRequest.
1737
1758
  * Use `create(GetUserProfileRequestSchema)` to create a new message.
1738
1759
  */
1739
- exports.GetUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 276);
1760
+ exports.GetUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278);
1740
1761
  /**
1741
1762
  * Describes the message blueapi.cover.v1.GetUserProfileResponse.
1742
1763
  * Use `create(GetUserProfileResponseSchema)` to create a new message.
1743
1764
  */
1744
- exports.GetUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 277);
1765
+ exports.GetUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 279);
1745
1766
  /**
1746
1767
  * Describes the message blueapi.cover.v1.UpdateUserProfileRequest.
1747
1768
  * Use `create(UpdateUserProfileRequestSchema)` to create a new message.
1748
1769
  */
1749
- exports.UpdateUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 278);
1770
+ exports.UpdateUserProfileRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 280);
1750
1771
  /**
1751
1772
  * Describes the message blueapi.cover.v1.UpdateUserProfileResponse.
1752
1773
  * Use `create(UpdateUserProfileResponseSchema)` to create a new message.
1753
1774
  */
1754
- exports.UpdateUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 279);
1775
+ exports.UpdateUserProfileResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 281);
1755
1776
  /**
1756
1777
  * Describes the message blueapi.cover.v1.ListBudgetsRequest.
1757
1778
  * Use `create(ListBudgetsRequestSchema)` to create a new message.
1758
1779
  */
1759
- exports.ListBudgetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 280);
1780
+ exports.ListBudgetsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 282);
1760
1781
  /**
1761
1782
  * Describes the message blueapi.cover.v1.ListBudgetsResponse.
1762
1783
  * Use `create(ListBudgetsResponseSchema)` to create a new message.
1763
1784
  */
1764
- exports.ListBudgetsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 281);
1785
+ exports.ListBudgetsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 283);
1765
1786
  /**
1766
1787
  * Describes the message blueapi.cover.v1.GetBudgetRequest.
1767
1788
  * Use `create(GetBudgetRequestSchema)` to create a new message.
1768
1789
  */
1769
- exports.GetBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 282);
1790
+ exports.GetBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 284);
1770
1791
  /**
1771
1792
  * Describes the message blueapi.cover.v1.GetBudgetResponse.
1772
1793
  * Use `create(GetBudgetResponseSchema)` to create a new message.
1773
1794
  */
1774
- exports.GetBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 283);
1795
+ exports.GetBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285);
1775
1796
  /**
1776
1797
  * Describes the message blueapi.cover.v1.CreateBudgetRequest.
1777
1798
  * Use `create(CreateBudgetRequestSchema)` to create a new message.
1778
1799
  */
1779
- exports.CreateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 284);
1800
+ exports.CreateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286);
1780
1801
  /**
1781
1802
  * Describes the message blueapi.cover.v1.CreateBudgetResponse.
1782
1803
  * Use `create(CreateBudgetResponseSchema)` to create a new message.
1783
1804
  */
1784
- exports.CreateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 285);
1805
+ exports.CreateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 287);
1785
1806
  /**
1786
1807
  * Describes the message blueapi.cover.v1.DeleteBudgetRequest.
1787
1808
  * Use `create(DeleteBudgetRequestSchema)` to create a new message.
1788
1809
  */
1789
- exports.DeleteBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 286);
1810
+ exports.DeleteBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 288);
1790
1811
  /**
1791
1812
  * Describes the message blueapi.cover.v1.DeleteBudgetResponse.
1792
1813
  * Use `create(DeleteBudgetResponseSchema)` to create a new message.
1793
1814
  */
1794
- exports.DeleteBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 287);
1815
+ exports.DeleteBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 289);
1795
1816
  /**
1796
1817
  * Describes the message blueapi.cover.v1.UpdateBudgetRequest.
1797
1818
  * Use `create(UpdateBudgetRequestSchema)` to create a new message.
1798
1819
  */
1799
- exports.UpdateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 288);
1820
+ exports.UpdateBudgetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290);
1800
1821
  /**
1801
1822
  * Describes the message blueapi.cover.v1.UpdateBudgetResponse.
1802
1823
  * Use `create(UpdateBudgetResponseSchema)` to create a new message.
1803
1824
  */
1804
- exports.UpdateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 289);
1825
+ exports.UpdateBudgetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 291);
1805
1826
  /**
1806
1827
  * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingRequest.
1807
1828
  * Use `create(ResolveAWSMarketplaceTokenForOnboardingRequestSchema)` to create a new message.
1808
1829
  */
1809
- exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 290);
1830
+ exports.ResolveAWSMarketplaceTokenForOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 292);
1810
1831
  /**
1811
1832
  * Describes the message blueapi.cover.v1.ResolveAWSMarketplaceTokenForOnboardingResponse.
1812
1833
  * Use `create(ResolveAWSMarketplaceTokenForOnboardingResponseSchema)` to create a new message.
1813
1834
  */
1814
- exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 291);
1835
+ exports.ResolveAWSMarketplaceTokenForOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 293);
1815
1836
  /**
1816
1837
  * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusRequest.
1817
1838
  * Use `create(GetCustomerSubscriptionStatusRequestSchema)` to create a new message.
1818
1839
  */
1819
- exports.GetCustomerSubscriptionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 292);
1840
+ exports.GetCustomerSubscriptionStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 294);
1820
1841
  /**
1821
1842
  * Describes the message blueapi.cover.v1.GetCustomerSubscriptionStatusResponse.
1822
1843
  * Use `create(GetCustomerSubscriptionStatusResponseSchema)` to create a new message.
1823
1844
  */
1824
- exports.GetCustomerSubscriptionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 293);
1845
+ exports.GetCustomerSubscriptionStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 295);
1825
1846
  /**
1826
1847
  * Describes the message blueapi.cover.v1.CreateProfilingRequest.
1827
1848
  * Use `create(CreateProfilingRequestSchema)` to create a new message.
1828
1849
  */
1829
- exports.CreateProfilingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 294);
1850
+ exports.CreateProfilingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 296);
1830
1851
  /**
1831
1852
  * Describes the message blueapi.cover.v1.CreateProfilingResponse.
1832
1853
  * Use `create(CreateProfilingResponseSchema)` to create a new message.
1833
1854
  */
1834
- exports.CreateProfilingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 295);
1855
+ exports.CreateProfilingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 297);
1835
1856
  /**
1836
1857
  * Describes the message blueapi.cover.v1.AddInfotoMarketplaceRequest.
1837
1858
  * Use `create(AddInfotoMarketplaceRequestSchema)` to create a new message.
1838
1859
  */
1839
- exports.AddInfotoMarketplaceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 296);
1860
+ exports.AddInfotoMarketplaceRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 298);
1840
1861
  /**
1841
1862
  * Describes the message blueapi.cover.v1.AddInfotoMarketplaceResponse.
1842
1863
  * Use `create(AddInfotoMarketplaceResponseSchema)` to create a new message.
1843
1864
  */
1844
- exports.AddInfotoMarketplaceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 297);
1865
+ exports.AddInfotoMarketplaceResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 299);
1845
1866
  /**
1846
1867
  * Describes the message blueapi.cover.v1.GetReportSummaryRequest.
1847
1868
  * Use `create(GetReportSummaryRequestSchema)` to create a new message.
1848
1869
  */
1849
- exports.GetReportSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 298);
1870
+ exports.GetReportSummaryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 300);
1850
1871
  /**
1851
1872
  * Describes the message blueapi.cover.v1.GetReportSummaryResponse.
1852
1873
  * Use `create(GetReportSummaryResponseSchema)` to create a new message.
1853
1874
  */
1854
- exports.GetReportSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 299);
1875
+ exports.GetReportSummaryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301);
1855
1876
  /**
1856
1877
  * Describes the message blueapi.cover.v1.ListRecommendationRequest.
1857
1878
  * Use `create(ListRecommendationRequestSchema)` to create a new message.
1858
1879
  */
1859
- exports.ListRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 300);
1880
+ exports.ListRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302);
1860
1881
  /**
1861
1882
  * Describes the message blueapi.cover.v1.ListRecommendationV2Request.
1862
1883
  * Use `create(ListRecommendationV2RequestSchema)` to create a new message.
1863
1884
  */
1864
- exports.ListRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301);
1885
+ exports.ListRecommendationV2RequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303);
1865
1886
  /**
1866
1887
  * Describes the message blueapi.cover.v1.ListRecommendationV2Request.RateSettings.
1867
1888
  * Use `create(ListRecommendationV2Request_RateSettingsSchema)` to create a new message.
1868
1889
  */
1869
- exports.ListRecommendationV2Request_RateSettingsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 301, 0);
1890
+ exports.ListRecommendationV2Request_RateSettingsSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303, 0);
1870
1891
  /**
1871
1892
  * Describes the message blueapi.cover.v1.ListRecommendationResponse.
1872
1893
  * Use `create(ListRecommendationResponseSchema)` to create a new message.
1873
1894
  */
1874
- exports.ListRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302);
1895
+ exports.ListRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304);
1875
1896
  /**
1876
1897
  * Describes the message blueapi.cover.v1.ListRecommendationResponse.PurchaseOption.
1877
1898
  * Use `create(ListRecommendationResponse_PurchaseOptionSchema)` to create a new message.
1878
1899
  */
1879
- exports.ListRecommendationResponse_PurchaseOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 302, 0);
1900
+ exports.ListRecommendationResponse_PurchaseOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304, 0);
1880
1901
  /**
1881
1902
  * Describes the message blueapi.cover.v1.GetRecommendationRequest.
1882
1903
  * Use `create(GetRecommendationRequestSchema)` to create a new message.
1883
1904
  */
1884
- exports.GetRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 303);
1905
+ exports.GetRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 305);
1885
1906
  /**
1886
1907
  * Describes the message blueapi.cover.v1.GetRecommendationResponse.
1887
1908
  * Use `create(GetRecommendationResponseSchema)` to create a new message.
1888
1909
  */
1889
- exports.GetRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 304);
1910
+ exports.GetRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306);
1890
1911
  /**
1891
1912
  * Describes the message blueapi.cover.v1.ExecuteOptimizationRequest.
1892
1913
  * Use `create(ExecuteOptimizationRequestSchema)` to create a new message.
1893
1914
  */
1894
- exports.ExecuteOptimizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 305);
1915
+ exports.ExecuteOptimizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 307);
1895
1916
  /**
1896
1917
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.
1897
1918
  * Use `create(ExecuteOptimizationResponseSchema)` to create a new message.
1898
1919
  */
1899
- exports.ExecuteOptimizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306);
1920
+ exports.ExecuteOptimizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308);
1900
1921
  /**
1901
1922
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AWSOption.
1902
1923
  * Use `create(ExecuteOptimizationResponse_AWSOptionSchema)` to create a new message.
1903
1924
  */
1904
- exports.ExecuteOptimizationResponse_AWSOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306, 0);
1925
+ exports.ExecuteOptimizationResponse_AWSOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308, 0);
1905
1926
  /**
1906
1927
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.GCPOption.
1907
1928
  * Use `create(ExecuteOptimizationResponse_GCPOptionSchema)` to create a new message.
1908
1929
  */
1909
- exports.ExecuteOptimizationResponse_GCPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306, 1);
1930
+ exports.ExecuteOptimizationResponse_GCPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308, 1);
1910
1931
  /**
1911
1932
  * Describes the message blueapi.cover.v1.ExecuteOptimizationResponse.AzureCSPOption.
1912
1933
  * Use `create(ExecuteOptimizationResponse_AzureCSPOptionSchema)` to create a new message.
1913
1934
  */
1914
- exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 306, 2);
1935
+ exports.ExecuteOptimizationResponse_AzureCSPOptionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308, 2);
1915
1936
  /**
1916
1937
  * Describes the message blueapi.cover.v1.MarkAsExecutedRequest.
1917
1938
  * Use `create(MarkAsExecutedRequestSchema)` to create a new message.
1918
1939
  */
1919
- exports.MarkAsExecutedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 307);
1940
+ exports.MarkAsExecutedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 309);
1920
1941
  /**
1921
1942
  * Describes the message blueapi.cover.v1.MarkAsExecutedResponse.
1922
1943
  * Use `create(MarkAsExecutedResponseSchema)` to create a new message.
1923
1944
  */
1924
- exports.MarkAsExecutedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 308);
1945
+ exports.MarkAsExecutedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 310);
1925
1946
  /**
1926
1947
  * Describes the message blueapi.cover.v1.UndoExecutedRecommendationRequest.
1927
1948
  * Use `create(UndoExecutedRecommendationRequestSchema)` to create a new message.
1928
1949
  */
1929
- exports.UndoExecutedRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 309);
1950
+ exports.UndoExecutedRecommendationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 311);
1930
1951
  /**
1931
1952
  * Describes the message blueapi.cover.v1.UndoExecutedRecommendationResponse.
1932
1953
  * Use `create(UndoExecutedRecommendationResponseSchema)` to create a new message.
1933
1954
  */
1934
- exports.UndoExecutedRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 310);
1955
+ exports.UndoExecutedRecommendationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 312);
1935
1956
  /**
1936
1957
  * Describes the message blueapi.cover.v1.OptimizationHistoryRequest.
1937
1958
  * Use `create(OptimizationHistoryRequestSchema)` to create a new message.
1938
1959
  */
1939
- exports.OptimizationHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 311);
1960
+ exports.OptimizationHistoryRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 313);
1940
1961
  /**
1941
1962
  * Describes the message blueapi.cover.v1.OptimizationHistoryResponse.
1942
1963
  * Use `create(OptimizationHistoryResponseSchema)` to create a new message.
1943
1964
  */
1944
- exports.OptimizationHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 312);
1965
+ exports.OptimizationHistoryResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 314);
1945
1966
  /**
1946
1967
  * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorRequest.
1947
1968
  * Use `create(SetCostGroupEventIndicatorRequestSchema)` to create a new message.
1948
1969
  */
1949
- exports.SetCostGroupEventIndicatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 313);
1970
+ exports.SetCostGroupEventIndicatorRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 315);
1950
1971
  /**
1951
1972
  * Describes the message blueapi.cover.v1.SetCostGroupEventIndicatorResponse.
1952
1973
  * Use `create(SetCostGroupEventIndicatorResponseSchema)` to create a new message.
1953
1974
  */
1954
- exports.SetCostGroupEventIndicatorResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 314);
1975
+ exports.SetCostGroupEventIndicatorResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 316);
1955
1976
  /**
1956
1977
  * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsRequest.
1957
1978
  * Use `create(SetCostGroupAnomalyOptionsRequestSchema)` to create a new message.
1958
1979
  */
1959
- exports.SetCostGroupAnomalyOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 315);
1980
+ exports.SetCostGroupAnomalyOptionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 317);
1960
1981
  /**
1961
1982
  * Describes the message blueapi.cover.v1.SetCostGroupAnomalyOptionsResponse.
1962
1983
  * Use `create(SetCostGroupAnomalyOptionsResponseSchema)` to create a new message.
1963
1984
  */
1964
- exports.SetCostGroupAnomalyOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 316);
1985
+ exports.SetCostGroupAnomalyOptionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 318);
1965
1986
  /**
1966
1987
  * Describes the message blueapi.cover.v1.SetOrgFiscalMonthRequest.
1967
1988
  * Use `create(SetOrgFiscalMonthRequestSchema)` to create a new message.
1968
1989
  */
1969
- exports.SetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 317);
1990
+ exports.SetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 319);
1970
1991
  /**
1971
1992
  * Describes the message blueapi.cover.v1.SetOrgFiscalMonthResponse.
1972
1993
  * Use `create(SetOrgFiscalMonthResponseSchema)` to create a new message.
1973
1994
  */
1974
- exports.SetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 318);
1995
+ exports.SetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 320);
1975
1996
  /**
1976
1997
  * Describes the message blueapi.cover.v1.GetOrgFiscalMonthRequest.
1977
1998
  * Use `create(GetOrgFiscalMonthRequestSchema)` to create a new message.
1978
1999
  */
1979
- exports.GetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 319);
2000
+ exports.GetOrgFiscalMonthRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 321);
1980
2001
  /**
1981
2002
  * Describes the message blueapi.cover.v1.GetOrgFiscalMonthResponse.
1982
2003
  * Use `create(GetOrgFiscalMonthResponseSchema)` to create a new message.
1983
2004
  */
1984
- exports.GetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 320);
2005
+ exports.GetOrgFiscalMonthResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 322);
1985
2006
  /**
1986
2007
  * Describes the message blueapi.cover.v1.TransferOrganizationRequest.
1987
2008
  * Use `create(TransferOrganizationRequestSchema)` to create a new message.
1988
2009
  */
1989
- exports.TransferOrganizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 321);
2010
+ exports.TransferOrganizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 323);
1990
2011
  /**
1991
2012
  * Describes the message blueapi.cover.v1.TransferOrganizationResponse.
1992
2013
  * Use `create(TransferOrganizationResponseSchema)` to create a new message.
1993
2014
  */
1994
- exports.TransferOrganizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 322);
2015
+ exports.TransferOrganizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 324);
1995
2016
  /**
1996
2017
  * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIRequest.
1997
2018
  * Use `create(UpdateCostGroupCreationUIRequestSchema)` to create a new message.
1998
2019
  */
1999
- exports.UpdateCostGroupCreationUIRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 323);
2020
+ exports.UpdateCostGroupCreationUIRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 325);
2000
2021
  /**
2001
2022
  * Describes the message blueapi.cover.v1.UpdateCostGroupCreationUIResponse.
2002
2023
  * Use `create(UpdateCostGroupCreationUIResponseSchema)` to create a new message.
2003
2024
  */
2004
- exports.UpdateCostGroupCreationUIResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 324);
2025
+ exports.UpdateCostGroupCreationUIResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 326);
2005
2026
  /**
2006
2027
  * Describes the message blueapi.cover.v1.ListUnitTypesRequest.
2007
2028
  * Use `create(ListUnitTypesRequestSchema)` to create a new message.
2008
2029
  */
2009
- exports.ListUnitTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 325);
2030
+ exports.ListUnitTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 327);
2010
2031
  /**
2011
2032
  * Describes the message blueapi.cover.v1.ListUnitTypesResponse.
2012
2033
  * Use `create(ListUnitTypesResponseSchema)` to create a new message.
2013
2034
  */
2014
- exports.ListUnitTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 326);
2035
+ exports.ListUnitTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 328);
2015
2036
  /**
2016
2037
  * Describes the message blueapi.cover.v1.CreateUnitTypeRequest.
2017
2038
  * Use `create(CreateUnitTypeRequestSchema)` to create a new message.
2018
2039
  */
2019
- exports.CreateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 327);
2040
+ exports.CreateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 329);
2020
2041
  /**
2021
2042
  * Describes the message blueapi.cover.v1.CreateUnitTypeResponse.
2022
2043
  * Use `create(CreateUnitTypeResponseSchema)` to create a new message.
2023
2044
  */
2024
- exports.CreateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 328);
2045
+ exports.CreateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 330);
2025
2046
  /**
2026
2047
  * Describes the message blueapi.cover.v1.GetUnitTypeRequest.
2027
2048
  * Use `create(GetUnitTypeRequestSchema)` to create a new message.
2028
2049
  */
2029
- exports.GetUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 329);
2050
+ exports.GetUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 331);
2030
2051
  /**
2031
2052
  * Describes the message blueapi.cover.v1.GetUnitTypeResponse.
2032
2053
  * Use `create(GetUnitTypeResponseSchema)` to create a new message.
2033
2054
  */
2034
- exports.GetUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 330);
2055
+ exports.GetUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 332);
2035
2056
  /**
2036
2057
  * Describes the message blueapi.cover.v1.UpdateUnitTypeRequest.
2037
2058
  * Use `create(UpdateUnitTypeRequestSchema)` to create a new message.
2038
2059
  */
2039
- exports.UpdateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 331);
2060
+ exports.UpdateUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 333);
2040
2061
  /**
2041
2062
  * Describes the message blueapi.cover.v1.UpdateUnitTypeResponse.
2042
2063
  * Use `create(UpdateUnitTypeResponseSchema)` to create a new message.
2043
2064
  */
2044
- exports.UpdateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 332);
2065
+ exports.UpdateUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 334);
2045
2066
  /**
2046
2067
  * Describes the message blueapi.cover.v1.DeleteUnitTypeRequest.
2047
2068
  * Use `create(DeleteUnitTypeRequestSchema)` to create a new message.
2048
2069
  */
2049
- exports.DeleteUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 333);
2070
+ exports.DeleteUnitTypeRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 335);
2050
2071
  /**
2051
2072
  * Describes the message blueapi.cover.v1.DeleteUnitTypeResponse.
2052
2073
  * Use `create(DeleteUnitTypeResponseSchema)` to create a new message.
2053
2074
  */
2054
- exports.DeleteUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 334);
2075
+ exports.DeleteUnitTypeResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 336);
2055
2076
  /**
2056
2077
  * Describes the message blueapi.cover.v1.MergeUnitsRequest.
2057
2078
  * Use `create(MergeUnitsRequestSchema)` to create a new message.
2058
2079
  */
2059
- exports.MergeUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 335);
2080
+ exports.MergeUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 337);
2060
2081
  /**
2061
2082
  * Describes the message blueapi.cover.v1.MergeUnitsResponse.
2062
2083
  * Use `create(MergeUnitsResponseSchema)` to create a new message.
2063
2084
  */
2064
- exports.MergeUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 336);
2085
+ exports.MergeUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 338);
2065
2086
  /**
2066
2087
  * Describes the message blueapi.cover.v1.ListSuggestedUnitsRequest.
2067
2088
  * Use `create(ListSuggestedUnitsRequestSchema)` to create a new message.
2068
2089
  */
2069
- exports.ListSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 337);
2090
+ exports.ListSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 339);
2070
2091
  /**
2071
2092
  * Describes the message blueapi.cover.v1.ListSuggestedUnitsResponse.
2072
2093
  * Use `create(ListSuggestedUnitsResponseSchema)` to create a new message.
2073
2094
  */
2074
- exports.ListSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 338);
2095
+ exports.ListSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340);
2075
2096
  /**
2076
2097
  * Describes the message blueapi.cover.v1.MergeSuggestedUnitsRequest.
2077
2098
  * Use `create(MergeSuggestedUnitsRequestSchema)` to create a new message.
2078
2099
  */
2079
- exports.MergeSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 339);
2100
+ exports.MergeSuggestedUnitsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 341);
2080
2101
  /**
2081
2102
  * Describes the message blueapi.cover.v1.MergeSuggestedUnitsResponse.
2082
2103
  * Use `create(MergeSuggestedUnitsResponseSchema)` to create a new message.
2083
2104
  */
2084
- exports.MergeSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 340);
2105
+ exports.MergeSuggestedUnitsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 342);
2085
2106
  /**
2086
2107
  * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedRequest.
2087
2108
  * Use `create(CreateUnitFromSuggestedRequestSchema)` to create a new message.
2088
2109
  */
2089
- exports.CreateUnitFromSuggestedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 341);
2110
+ exports.CreateUnitFromSuggestedRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 343);
2090
2111
  /**
2091
2112
  * Describes the message blueapi.cover.v1.CreateUnitFromSuggestedResponse.
2092
2113
  * Use `create(CreateUnitFromSuggestedResponseSchema)` to create a new message.
2093
2114
  */
2094
- exports.CreateUnitFromSuggestedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 342);
2115
+ exports.CreateUnitFromSuggestedResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344);
2095
2116
  /**
2096
2117
  * Describes the message blueapi.cover.v1.ListSharedResourcesRequest.
2097
2118
  * Use `create(ListSharedResourcesRequestSchema)` to create a new message.
2098
2119
  */
2099
- exports.ListSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 343);
2120
+ exports.ListSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 345);
2100
2121
  /**
2101
2122
  * Describes the message blueapi.cover.v1.ListSharedResourcesResponse.
2102
2123
  * Use `create(ListSharedResourcesResponseSchema)` to create a new message.
2103
2124
  */
2104
- exports.ListSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 344);
2125
+ exports.ListSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 346);
2105
2126
  /**
2106
2127
  * Describes the message blueapi.cover.v1.CreateSharedResourcesRequest.
2107
2128
  * Use `create(CreateSharedResourcesRequestSchema)` to create a new message.
2108
2129
  */
2109
- exports.CreateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 345);
2130
+ exports.CreateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 347);
2110
2131
  /**
2111
2132
  * Describes the message blueapi.cover.v1.CreateSharedResourcesResponse.
2112
2133
  * Use `create(CreateSharedResourcesResponseSchema)` to create a new message.
2113
2134
  */
2114
- exports.CreateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 346);
2135
+ exports.CreateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 348);
2115
2136
  /**
2116
2137
  * Describes the message blueapi.cover.v1.GetSharedResourcesRequest.
2117
2138
  * Use `create(GetSharedResourcesRequestSchema)` to create a new message.
2118
2139
  */
2119
- exports.GetSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 347);
2140
+ exports.GetSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 349);
2120
2141
  /**
2121
2142
  * Describes the message blueapi.cover.v1.GetSharedResourcesResponse.
2122
2143
  * Use `create(GetSharedResourcesResponseSchema)` to create a new message.
2123
2144
  */
2124
- exports.GetSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 348);
2145
+ exports.GetSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 350);
2125
2146
  /**
2126
2147
  * Describes the message blueapi.cover.v1.UpdateSharedResourcesRequest.
2127
2148
  * Use `create(UpdateSharedResourcesRequestSchema)` to create a new message.
2128
2149
  */
2129
- exports.UpdateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 349);
2150
+ exports.UpdateSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 351);
2130
2151
  /**
2131
2152
  * Describes the message blueapi.cover.v1.UpdateSharedResourcesResponse.
2132
2153
  * Use `create(UpdateSharedResourcesResponseSchema)` to create a new message.
2133
2154
  */
2134
- exports.UpdateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 350);
2155
+ exports.UpdateSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 352);
2135
2156
  /**
2136
2157
  * Describes the message blueapi.cover.v1.DeleteSharedResourcesRequest.
2137
2158
  * Use `create(DeleteSharedResourcesRequestSchema)` to create a new message.
2138
2159
  */
2139
- exports.DeleteSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 351);
2160
+ exports.DeleteSharedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 353);
2140
2161
  /**
2141
2162
  * Describes the message blueapi.cover.v1.DeleteSharedResourcesResponse.
2142
2163
  * Use `create(DeleteSharedResourcesResponseSchema)` to create a new message.
2143
2164
  */
2144
- exports.DeleteSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 352);
2165
+ exports.DeleteSharedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 354);
2145
2166
  /**
2146
2167
  * Describes the message blueapi.cover.v1.ListUnitMetricsRequest.
2147
2168
  * Use `create(ListUnitMetricsRequestSchema)` to create a new message.
2148
2169
  */
2149
- exports.ListUnitMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 353);
2170
+ exports.ListUnitMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 355);
2150
2171
  /**
2151
2172
  * Describes the message blueapi.cover.v1.ListUnitMetricsResponse.
2152
2173
  * Use `create(ListUnitMetricsResponseSchema)` to create a new message.
2153
2174
  */
2154
- exports.ListUnitMetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 354);
2175
+ exports.ListUnitMetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 356);
2155
2176
  /**
2156
2177
  * Describes the message blueapi.cover.v1.CreateUnitMetricRequest.
2157
2178
  * Use `create(CreateUnitMetricRequestSchema)` to create a new message.
2158
2179
  */
2159
- exports.CreateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 355);
2180
+ exports.CreateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 357);
2160
2181
  /**
2161
2182
  * Describes the message blueapi.cover.v1.CreateUnitMetricResponse.
2162
2183
  * Use `create(CreateUnitMetricResponseSchema)` to create a new message.
2163
2184
  */
2164
- exports.CreateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 356);
2185
+ exports.CreateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 358);
2165
2186
  /**
2166
2187
  * Describes the message blueapi.cover.v1.GetUnitMetricRequest.
2167
2188
  * Use `create(GetUnitMetricRequestSchema)` to create a new message.
2168
2189
  */
2169
- exports.GetUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 357);
2190
+ exports.GetUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 359);
2170
2191
  /**
2171
2192
  * Describes the message blueapi.cover.v1.GetUnitMetricResponse.
2172
2193
  * Use `create(GetUnitMetricResponseSchema)` to create a new message.
2173
2194
  */
2174
- exports.GetUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 358);
2195
+ exports.GetUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 360);
2175
2196
  /**
2176
2197
  * Describes the message blueapi.cover.v1.UpdateUnitMetricRequest.
2177
2198
  * Use `create(UpdateUnitMetricRequestSchema)` to create a new message.
2178
2199
  */
2179
- exports.UpdateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 359);
2200
+ exports.UpdateUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 361);
2180
2201
  /**
2181
2202
  * Describes the message blueapi.cover.v1.UpdateUnitMetricResponse.
2182
2203
  * Use `create(UpdateUnitMetricResponseSchema)` to create a new message.
2183
2204
  */
2184
- exports.UpdateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 360);
2205
+ exports.UpdateUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 362);
2185
2206
  /**
2186
2207
  * Describes the message blueapi.cover.v1.DeleteUnitMetricRequest.
2187
2208
  * Use `create(DeleteUnitMetricRequestSchema)` to create a new message.
2188
2209
  */
2189
- exports.DeleteUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 361);
2210
+ exports.DeleteUnitMetricRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 363);
2190
2211
  /**
2191
2212
  * Describes the message blueapi.cover.v1.DeleteUnitMetricResponse.
2192
2213
  * Use `create(DeleteUnitMetricResponseSchema)` to create a new message.
2193
2214
  */
2194
- exports.DeleteUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 362);
2215
+ exports.DeleteUnitMetricResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 364);
2195
2216
  /**
2196
2217
  * Describes the message blueapi.cover.v1.PreviewGoogleSheetRequest.
2197
2218
  * Use `create(PreviewGoogleSheetRequestSchema)` to create a new message.
2198
2219
  */
2199
- exports.PreviewGoogleSheetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 363);
2220
+ exports.PreviewGoogleSheetRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 365);
2200
2221
  /**
2201
2222
  * Describes the message blueapi.cover.v1.PreviewGoogleSheetResponse.
2202
2223
  * Use `create(PreviewGoogleSheetResponseSchema)` to create a new message.
2203
2224
  */
2204
- exports.PreviewGoogleSheetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 364);
2225
+ exports.PreviewGoogleSheetResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 366);
2205
2226
  /**
2206
2227
  * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessRequest.
2207
2228
  * Use `create(ConfirmGoogleSheetAccessRequestSchema)` to create a new message.
2208
2229
  */
2209
- exports.ConfirmGoogleSheetAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 365);
2230
+ exports.ConfirmGoogleSheetAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 367);
2210
2231
  /**
2211
2232
  * Describes the message blueapi.cover.v1.ConfirmGoogleSheetAccessResponse.
2212
2233
  * Use `create(ConfirmGoogleSheetAccessResponseSchema)` to create a new message.
2213
2234
  */
2214
- exports.ConfirmGoogleSheetAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 366);
2235
+ exports.ConfirmGoogleSheetAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 368);
2215
2236
  /**
2216
2237
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataRequest.
2217
2238
  * Use `create(GetCloudwatchMetadataRequestSchema)` to create a new message.
2218
2239
  */
2219
- exports.GetCloudwatchMetadataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 367);
2240
+ exports.GetCloudwatchMetadataRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 369);
2220
2241
  /**
2221
2242
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.
2222
2243
  * Use `create(GetCloudwatchMetadataResponseSchema)` to create a new message.
2223
2244
  */
2224
- exports.GetCloudwatchMetadataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 368);
2245
+ exports.GetCloudwatchMetadataResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 370);
2225
2246
  /**
2226
2247
  * Describes the message blueapi.cover.v1.GetCloudwatchMetadataResponse.Dimension.
2227
2248
  * Use `create(GetCloudwatchMetadataResponse_DimensionSchema)` to create a new message.
2228
2249
  */
2229
- exports.GetCloudwatchMetadataResponse_DimensionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 368, 0);
2250
+ exports.GetCloudwatchMetadataResponse_DimensionSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 370, 0);
2230
2251
  /**
2231
2252
  * Describes the message blueapi.cover.v1.GetDiscountPlanRequest.
2232
2253
  * Use `create(GetDiscountPlanRequestSchema)` to create a new message.
2233
2254
  */
2234
- exports.GetDiscountPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 369);
2255
+ exports.GetDiscountPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 371);
2235
2256
  /**
2236
2257
  * Describes the message blueapi.cover.v1.GetDiscountPlanResponse.
2237
2258
  * Use `create(GetDiscountPlanResponseSchema)` to create a new message.
2238
2259
  */
2239
- exports.GetDiscountPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 370);
2260
+ exports.GetDiscountPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 372);
2240
2261
  /**
2241
2262
  * Describes the message blueapi.cover.v1.ListNonperformingRateRequest.
2242
2263
  * Use `create(ListNonperformingRateRequestSchema)` to create a new message.
2243
2264
  */
2244
- exports.ListNonperformingRateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 371);
2265
+ exports.ListNonperformingRateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 373);
2245
2266
  /**
2246
2267
  * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.
2247
2268
  * Use `create(ListNonperformingRateResponseSchema)` to create a new message.
2248
2269
  */
2249
- exports.ListNonperformingRateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 372);
2270
+ exports.ListNonperformingRateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 374);
2250
2271
  /**
2251
2272
  * Describes the message blueapi.cover.v1.ListNonperformingRateResponse.Nonperforming.
2252
2273
  * Use `create(ListNonperformingRateResponse_NonperformingSchema)` to create a new message.
2253
2274
  */
2254
- exports.ListNonperformingRateResponse_NonperformingSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 372, 0);
2275
+ exports.ListNonperformingRateResponse_NonperformingSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 374, 0);
2255
2276
  /**
2256
2277
  * Describes the message blueapi.cover.v1.ListUntaggedResourcesRequest.
2257
2278
  * Use `create(ListUntaggedResourcesRequestSchema)` to create a new message.
2258
2279
  */
2259
- exports.ListUntaggedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 373);
2280
+ exports.ListUntaggedResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 375);
2260
2281
  /**
2261
2282
  * Describes the message blueapi.cover.v1.ListUntaggedResourcesResponse.
2262
2283
  * Use `create(ListUntaggedResourcesResponseSchema)` to create a new message.
2263
2284
  */
2264
- exports.ListUntaggedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 374);
2285
+ exports.ListUntaggedResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 376);
2265
2286
  /**
2266
2287
  * Describes the message blueapi.cover.v1.ListUntaggedResourcesResponse.UntaggedResources.
2267
2288
  * Use `create(ListUntaggedResourcesResponse_UntaggedResourcesSchema)` to create a new message.
2268
2289
  */
2269
- exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 374, 0);
2290
+ exports.ListUntaggedResourcesResponse_UntaggedResourcesSchema = (0, codegenv2_1.messageDesc)(exports.file_cover_v1_cover, 376, 0);
2270
2291
  /**
2271
2292
  * Status of upload file
2272
2293
  *