@alphauspkgs/blue-sdk-ts 1.0.43 → 1.0.45

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