// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

package provider

import (
	tfTypes "github.com/airbytehq/terraform-provider-airbyte/internal/provider/types"
	"github.com/airbytehq/terraform-provider-airbyte/internal/sdk/models/shared"
	customTypes "github.com/airbytehq/terraform-provider-airbyte/internal/sdk/types"
	"github.com/hashicorp/terraform-plugin-framework/types"
)

func (r *SourceGoogleAnalyticsDataAPIResourceModel) ToSharedSourceGoogleAnalyticsDataAPICreateRequest() *shared.SourceGoogleAnalyticsDataAPICreateRequest {
	var name string
	name = r.Name.ValueString()

	definitionID := new(string)
	if !r.DefinitionID.IsUnknown() && !r.DefinitionID.IsNull() {
		*definitionID = r.DefinitionID.ValueString()
	} else {
		definitionID = nil
	}
	var workspaceID string
	workspaceID = r.WorkspaceID.ValueString()

	convertConversionsEvent := new(bool)
	if !r.Configuration.ConvertConversionsEvent.IsUnknown() && !r.Configuration.ConvertConversionsEvent.IsNull() {
		*convertConversionsEvent = r.Configuration.ConvertConversionsEvent.ValueBool()
	} else {
		convertConversionsEvent = nil
	}
	var credentials *shared.SourceGoogleAnalyticsDataAPICredentials
	if r.Configuration.Credentials != nil {
		var sourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth *shared.SourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth
		if r.Configuration.Credentials.AuthenticateViaGoogleOauth != nil {
			accessToken := new(string)
			if !r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.IsUnknown() && !r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.IsNull() {
				*accessToken = r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.ValueString()
			} else {
				accessToken = nil
			}
			var clientID string
			clientID = r.Configuration.Credentials.AuthenticateViaGoogleOauth.ClientID.ValueString()

			var clientSecret string
			clientSecret = r.Configuration.Credentials.AuthenticateViaGoogleOauth.ClientSecret.ValueString()

			var refreshToken string
			refreshToken = r.Configuration.Credentials.AuthenticateViaGoogleOauth.RefreshToken.ValueString()

			sourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth = &shared.SourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth{
				AccessToken:  accessToken,
				ClientID:     clientID,
				ClientSecret: clientSecret,
				RefreshToken: refreshToken,
			}
		}
		if sourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth != nil {
			credentials = &shared.SourceGoogleAnalyticsDataAPICredentials{
				SourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth: sourceGoogleAnalyticsDataAPIAuthenticateViaGoogleOauth,
			}
		}
		var sourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication *shared.SourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication
		if r.Configuration.Credentials.ServiceAccountKeyAuthentication != nil {
			var credentialsJSON string
			credentialsJSON = r.Configuration.Credentials.ServiceAccountKeyAuthentication.CredentialsJSON.ValueString()

			sourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication = &shared.SourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication{
				CredentialsJSON: credentialsJSON,
			}
		}
		if sourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication != nil {
			credentials = &shared.SourceGoogleAnalyticsDataAPICredentials{
				SourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication: sourceGoogleAnalyticsDataAPIServiceAccountKeyAuthentication,
			}
		}
	}
	var customReportsArray []shared.SourceGoogleAnalyticsDataAPICustomReportConfig = []shared.SourceGoogleAnalyticsDataAPICustomReportConfig{}
	for _, customReportsArrayItem := range r.Configuration.CustomReportsArray {
		var cohortSpec *shared.CohortReports
		if customReportsArrayItem.CohortSpec != nil {
			var sourceGoogleAnalyticsDataAPIDisabled *shared.SourceGoogleAnalyticsDataAPIDisabled
			if customReportsArrayItem.CohortSpec.Disabled != nil {
				sourceGoogleAnalyticsDataAPIDisabled = &shared.SourceGoogleAnalyticsDataAPIDisabled{}
			}
			if sourceGoogleAnalyticsDataAPIDisabled != nil {
				cohortSpec = &shared.CohortReports{
					SourceGoogleAnalyticsDataAPIDisabled: sourceGoogleAnalyticsDataAPIDisabled,
				}
			}
			var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled
			if customReportsArrayItem.CohortSpec.Enabled != nil {
				var cohortReportSettings *shared.CohortReportSettings
				if customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings != nil {
					accumulate := new(bool)
					if !customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.IsUnknown() && !customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.IsNull() {
						*accumulate = customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.ValueBool()
					} else {
						accumulate = nil
					}
					cohortReportSettings = &shared.CohortReportSettings{
						Accumulate: accumulate,
					}
				}
				var cohorts []shared.Cohorts = []shared.Cohorts{}
				for _, cohortsItem := range customReportsArrayItem.CohortSpec.Enabled.Cohorts {
					endDate := customTypes.MustDateFromString(cohortsItem.DateRange.EndDate.ValueString())
					startDate := customTypes.MustDateFromString(cohortsItem.DateRange.StartDate.ValueString())
					dateRange := shared.DateRange{
						EndDate:   endDate,
						StartDate: startDate,
					}
					dimension := shared.Dimension(cohortsItem.Dimension.ValueString())
					name1 := new(string)
					if !cohortsItem.Name.IsUnknown() && !cohortsItem.Name.IsNull() {
						*name1 = cohortsItem.Name.ValueString()
					} else {
						name1 = nil
					}
					cohorts = append(cohorts, shared.Cohorts{
						DateRange: dateRange,
						Dimension: dimension,
						Name:      name1,
					})
				}
				var cohortsRange *shared.CohortsRange
				if customReportsArrayItem.CohortSpec.Enabled.CohortsRange != nil {
					var endOffset int64
					endOffset = customReportsArrayItem.CohortSpec.Enabled.CohortsRange.EndOffset.ValueInt64()

					granularity := shared.SourceGoogleAnalyticsDataAPIGranularity(customReportsArrayItem.CohortSpec.Enabled.CohortsRange.Granularity.ValueString())
					startOffset := new(int64)
					if !customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.IsUnknown() && !customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.IsNull() {
						*startOffset = customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.ValueInt64()
					} else {
						startOffset = nil
					}
					cohortsRange = &shared.CohortsRange{
						EndOffset:   endOffset,
						Granularity: granularity,
						StartOffset: startOffset,
					}
				}
				sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled{
					CohortReportSettings: cohortReportSettings,
					Cohorts:              cohorts,
					CohortsRange:         cohortsRange,
				}
			}
			if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled != nil {
				cohortSpec = &shared.CohortReports{
					SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayEnabled,
				}
			}
		}
		var dimensionFilter *shared.DimensionsFilter
		if customReportsArrayItem.DimensionFilter != nil {
			var andGroup *shared.AndGroup
			if customReportsArrayItem.DimensionFilter.AndGroup != nil {
				var expressions []shared.Expression = []shared.Expression{}
				for _, expressionsItem := range customReportsArrayItem.DimensionFilter.AndGroup.Expressions {
					var fieldName string
					fieldName = expressionsItem.FieldName.ValueString()

					var filter shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter
					if expressionsItem.Filter.StringFilter != nil {
						caseSensitive := new(bool)
						if !expressionsItem.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive = expressionsItem.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive = nil
						}
						var matchType []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums{}
						for _, matchTypeItem := range expressionsItem.Filter.StringFilter.MatchType {
							matchType = append(matchType, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums(matchTypeItem.ValueString()))
						}
						var value string
						value = expressionsItem.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter{
							CaseSensitive: caseSensitive,
							MatchType:     matchType,
							Value:         value,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter
					if expressionsItem.Filter.InListFilter != nil {
						caseSensitive1 := new(bool)
						if !expressionsItem.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive1 = expressionsItem.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive1 = nil
						}
						var values []string = []string{}
						for _, valuesItem := range expressionsItem.Filter.InListFilter.Values {
							values = append(values, valuesItem.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter{
							CaseSensitive: caseSensitive1,
							Values:        values,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter
					if expressionsItem.Filter.NumericFilter != nil {
						var operation []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums{}
						for _, operationItem := range expressionsItem.Filter.NumericFilter.Operation {
							operation = append(operation, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums(operationItem.ValueString()))
						}
						var value1 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value
						if expressionsItem.Filter.NumericFilter.Value.Int64Value != nil {
							var value2 string
							value2 = expressionsItem.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value{
								Value: value2,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value != nil {
							value1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue
						if expressionsItem.Filter.NumericFilter.Value.DoubleValue != nil {
							var value3 float64
							value3, _ = expressionsItem.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue{
								Value: value3,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue != nil {
							value1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter{
							Operation: operation,
							Value:     value1,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter
					if expressionsItem.Filter.BetweenFilter != nil {
						var fromValue shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value
						if expressionsItem.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value4 string
							value4 = expressionsItem.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value{
								Value: value4,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value != nil {
							fromValue = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue
						if expressionsItem.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value5 float64
							value5, _ = expressionsItem.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue{
								Value: value5,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue != nil {
							fromValue = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue,
							}
						}
						var toValue shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value
						if expressionsItem.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value6 string
							value6 = expressionsItem.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value{
								Value: value6,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value != nil {
							toValue = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue
						if expressionsItem.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value7 float64
							value7, _ = expressionsItem.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue{
								Value: value7,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue != nil {
							toValue = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter{
							FromValue: fromValue,
							ToValue:   toValue,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayBetweenFilter,
						}
					}
					expressions = append(expressions, shared.Expression{
						FieldName: fieldName,
						Filter:    filter,
					})
				}
				andGroup = &shared.AndGroup{
					Expressions: expressions,
				}
			}
			if andGroup != nil {
				dimensionFilter = &shared.DimensionsFilter{
					AndGroup: andGroup,
				}
			}
			var orGroup *shared.OrGroup
			if customReportsArrayItem.DimensionFilter.OrGroup != nil {
				var expressions1 []shared.SourceGoogleAnalyticsDataAPIExpression = []shared.SourceGoogleAnalyticsDataAPIExpression{}
				for _, expressionsItem1 := range customReportsArrayItem.DimensionFilter.OrGroup.Expressions {
					var fieldName1 string
					fieldName1 = expressionsItem1.FieldName.ValueString()

					var filter1 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter
					if expressionsItem1.Filter.StringFilter != nil {
						caseSensitive2 := new(bool)
						if !expressionsItem1.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem1.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive2 = expressionsItem1.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive2 = nil
						}
						var matchType1 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums{}
						for _, matchTypeItem1 := range expressionsItem1.Filter.StringFilter.MatchType {
							matchType1 = append(matchType1, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums(matchTypeItem1.ValueString()))
						}
						var value8 string
						value8 = expressionsItem1.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter{
							CaseSensitive: caseSensitive2,
							MatchType:     matchType1,
							Value:         value8,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter
					if expressionsItem1.Filter.InListFilter != nil {
						caseSensitive3 := new(bool)
						if !expressionsItem1.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem1.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive3 = expressionsItem1.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive3 = nil
						}
						var values1 []string = []string{}
						for _, valuesItem1 := range expressionsItem1.Filter.InListFilter.Values {
							values1 = append(values1, valuesItem1.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter{
							CaseSensitive: caseSensitive3,
							Values:        values1,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter
					if expressionsItem1.Filter.NumericFilter != nil {
						var operation1 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValidEnums{}
						for _, operationItem1 := range expressionsItem1.Filter.NumericFilter.Operation {
							operation1 = append(operation1, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValidEnums(operationItem1.ValueString()))
						}
						var value9 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value
						if expressionsItem1.Filter.NumericFilter.Value.Int64Value != nil {
							var value10 string
							value10 = expressionsItem1.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value{
								Value: value10,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value != nil {
							value9 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue
						if expressionsItem1.Filter.NumericFilter.Value.DoubleValue != nil {
							var value11 float64
							value11, _ = expressionsItem1.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue{
								Value: value11,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue != nil {
							value9 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter{
							Operation: operation1,
							Value:     value9,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter
					if expressionsItem1.Filter.BetweenFilter != nil {
						var fromValue1 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value
						if expressionsItem1.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value12 string
							value12 = expressionsItem1.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value{
								Value: value12,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value != nil {
							fromValue1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue
						if expressionsItem1.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value13 float64
							value13, _ = expressionsItem1.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue{
								Value: value13,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue != nil {
							fromValue1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDoubleValue,
							}
						}
						var toValue1 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value
						if expressionsItem1.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value14 string
							value14 = expressionsItem1.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value{
								Value: value14,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value != nil {
							toValue1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue
						if expressionsItem1.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value15 float64
							value15, _ = expressionsItem1.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue{
								Value: value15,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue != nil {
							toValue1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter{
							FromValue: fromValue1,
							ToValue:   toValue1,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterBetweenFilter,
						}
					}
					expressions1 = append(expressions1, shared.SourceGoogleAnalyticsDataAPIExpression{
						FieldName: fieldName1,
						Filter:    filter1,
					})
				}
				orGroup = &shared.OrGroup{
					Expressions: expressions1,
				}
			}
			if orGroup != nil {
				dimensionFilter = &shared.DimensionsFilter{
					OrGroup: orGroup,
				}
			}
			var notExpression *shared.NotExpression
			if customReportsArrayItem.DimensionFilter.NotExpression != nil {
				var expression *shared.SourceGoogleAnalyticsDataAPISchemasExpression
				if customReportsArrayItem.DimensionFilter.NotExpression.Expression != nil {
					var fieldName2 string
					fieldName2 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.FieldName.ValueString()

					var filter2 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter
					var sourceGoogleAnalyticsDataAPISchemasStringFilter *shared.SourceGoogleAnalyticsDataAPISchemasStringFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter != nil {
						caseSensitive4 := new(bool)
						if !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive4 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive4 = nil
						}
						var matchType2 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums{}
						for _, matchTypeItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.MatchType {
							matchType2 = append(matchType2, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums(matchTypeItem2.ValueString()))
						}
						var value16 string
						value16 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasStringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasStringFilter{
							CaseSensitive: caseSensitive4,
							MatchType:     matchType2,
							Value:         value16,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasStringFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasStringFilter: sourceGoogleAnalyticsDataAPISchemasStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasInListFilter *shared.SourceGoogleAnalyticsDataAPISchemasInListFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter != nil {
						caseSensitive5 := new(bool)
						if !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive5 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive5 = nil
						}
						var values2 []string = []string{}
						for _, valuesItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.Values {
							values2 = append(values2, valuesItem2.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasInListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasInListFilter{
							CaseSensitive: caseSensitive5,
							Values:        values2,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasInListFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasInListFilter: sourceGoogleAnalyticsDataAPISchemasInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasNumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasNumericFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter != nil {
						var operation2 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums{}
						for _, operationItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Operation {
							operation2 = append(operation2, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums(operationItem2.ValueString()))
						}
						var value17 shared.SourceGoogleAnalyticsDataAPISchemasValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value != nil {
							var value18 string
							value18 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value{
								Value: value18,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value != nil {
							value17 = shared.SourceGoogleAnalyticsDataAPISchemasValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue != nil {
							var value19 float64
							value19, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue{
								Value: value19,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue != nil {
							value17 = shared.SourceGoogleAnalyticsDataAPISchemasValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasNumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasNumericFilter{
							Operation: operation2,
							Value:     value17,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasNumericFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasNumericFilter: sourceGoogleAnalyticsDataAPISchemasNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasBetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasBetweenFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter != nil {
						var fromValue2 shared.SourceGoogleAnalyticsDataAPISchemasFromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value20 string
							value20 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value{
								Value: value20,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value != nil {
							fromValue2 = shared.SourceGoogleAnalyticsDataAPISchemasFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value21 float64
							value21, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue{
								Value: value21,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue != nil {
							fromValue2 = shared.SourceGoogleAnalyticsDataAPISchemasFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue,
							}
						}
						var toValue2 shared.SourceGoogleAnalyticsDataAPISchemasToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value22 string
							value22 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value{
								Value: value22,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value != nil {
							toValue2 = shared.SourceGoogleAnalyticsDataAPISchemasToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value23 float64
							value23, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue{
								Value: value23,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue != nil {
							toValue2 = shared.SourceGoogleAnalyticsDataAPISchemasToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasBetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasBetweenFilter{
							FromValue: fromValue2,
							ToValue:   toValue2,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasBetweenFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasBetweenFilter: sourceGoogleAnalyticsDataAPISchemasBetweenFilter,
						}
					}
					expression = &shared.SourceGoogleAnalyticsDataAPISchemasExpression{
						FieldName: fieldName2,
						Filter:    filter2,
					}
				}
				notExpression = &shared.NotExpression{
					Expression: expression,
				}
			}
			if notExpression != nil {
				dimensionFilter = &shared.DimensionsFilter{
					NotExpression: notExpression,
				}
			}
			var sourceGoogleAnalyticsDataAPIFilter *shared.SourceGoogleAnalyticsDataAPIFilter
			if customReportsArrayItem.DimensionFilter.Filter != nil {
				var fieldName3 string
				fieldName3 = customReportsArrayItem.DimensionFilter.Filter.FieldName.ValueString()

				var filter3 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFilter
				var stringFilter *shared.StringFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter != nil {
					caseSensitive6 := new(bool)
					if !customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.IsNull() {
						*caseSensitive6 = customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive6 = nil
					}
					var matchType3 []shared.SourceGoogleAnalyticsDataAPIValidEnums = []shared.SourceGoogleAnalyticsDataAPIValidEnums{}
					for _, matchTypeItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.MatchType {
						matchType3 = append(matchType3, shared.SourceGoogleAnalyticsDataAPIValidEnums(matchTypeItem3.ValueString()))
					}
					var value24 string
					value24 = customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.Value.ValueString()

					stringFilter = &shared.StringFilter{
						CaseSensitive: caseSensitive6,
						MatchType:     matchType3,
						Value:         value24,
					}
				}
				if stringFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFilter{
						StringFilter: stringFilter,
					}
				}
				var inListFilter *shared.InListFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter != nil {
					caseSensitive7 := new(bool)
					if !customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.IsNull() {
						*caseSensitive7 = customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive7 = nil
					}
					var values3 []string = []string{}
					for _, valuesItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.Values {
						values3 = append(values3, valuesItem3.ValueString())
					}
					inListFilter = &shared.InListFilter{
						CaseSensitive: caseSensitive7,
						Values:        values3,
					}
				}
				if inListFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFilter{
						InListFilter: inListFilter,
					}
				}
				var numericFilter *shared.NumericFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter != nil {
					var operation3 []shared.SourceGoogleAnalyticsDataAPISchemasValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasValidEnums{}
					for _, operationItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Operation {
						operation3 = append(operation3, shared.SourceGoogleAnalyticsDataAPISchemasValidEnums(operationItem3.ValueString()))
					}
					var value25 shared.Value
					var int64Value *shared.Int64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.Int64Value != nil {
						var value26 string
						value26 = customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

						int64Value = &shared.Int64Value{
							Value: value26,
						}
					}
					if int64Value != nil {
						value25 = shared.Value{
							Int64Value: int64Value,
						}
					}
					var doubleValue *shared.DoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.DoubleValue != nil {
						var value27 float64
						value27, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

						doubleValue = &shared.DoubleValue{
							Value: value27,
						}
					}
					if doubleValue != nil {
						value25 = shared.Value{
							DoubleValue: doubleValue,
						}
					}
					numericFilter = &shared.NumericFilter{
						Operation: operation3,
						Value:     value25,
					}
				}
				if numericFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFilter{
						NumericFilter: numericFilter,
					}
				}
				var betweenFilter *shared.BetweenFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter != nil {
					var fromValue3 shared.FromValue
					var sourceGoogleAnalyticsDataAPIInt64Value *shared.SourceGoogleAnalyticsDataAPIInt64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value != nil {
						var value28 string
						value28 = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIInt64Value = &shared.SourceGoogleAnalyticsDataAPIInt64Value{
							Value: value28,
						}
					}
					if sourceGoogleAnalyticsDataAPIInt64Value != nil {
						fromValue3 = shared.FromValue{
							SourceGoogleAnalyticsDataAPIInt64Value: sourceGoogleAnalyticsDataAPIInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIDoubleValue *shared.SourceGoogleAnalyticsDataAPIDoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue != nil {
						var value29 float64
						value29, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIDoubleValue = &shared.SourceGoogleAnalyticsDataAPIDoubleValue{
							Value: value29,
						}
					}
					if sourceGoogleAnalyticsDataAPIDoubleValue != nil {
						fromValue3 = shared.FromValue{
							SourceGoogleAnalyticsDataAPIDoubleValue: sourceGoogleAnalyticsDataAPIDoubleValue,
						}
					}
					var toValue3 shared.ToValue
					var sourceGoogleAnalyticsDataAPISchemasInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasInt64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value != nil {
						var value30 string
						value30 = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasInt64Value{
							Value: value30,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasInt64Value != nil {
						toValue3 = shared.ToValue{
							SourceGoogleAnalyticsDataAPISchemasInt64Value: sourceGoogleAnalyticsDataAPISchemasInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasDoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue != nil {
						var value31 float64
						value31, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPISchemasDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasDoubleValue{
							Value: value31,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasDoubleValue != nil {
						toValue3 = shared.ToValue{
							SourceGoogleAnalyticsDataAPISchemasDoubleValue: sourceGoogleAnalyticsDataAPISchemasDoubleValue,
						}
					}
					betweenFilter = &shared.BetweenFilter{
						FromValue: fromValue3,
						ToValue:   toValue3,
					}
				}
				if betweenFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDimensionFilterFilter{
						BetweenFilter: betweenFilter,
					}
				}
				sourceGoogleAnalyticsDataAPIFilter = &shared.SourceGoogleAnalyticsDataAPIFilter{
					FieldName: fieldName3,
					Filter:    filter3,
				}
			}
			if sourceGoogleAnalyticsDataAPIFilter != nil {
				dimensionFilter = &shared.DimensionsFilter{
					SourceGoogleAnalyticsDataAPIFilter: sourceGoogleAnalyticsDataAPIFilter,
				}
			}
		}
		var dimensions []string = []string{}
		for _, dimensionsItem := range customReportsArrayItem.Dimensions {
			dimensions = append(dimensions, dimensionsItem.ValueString())
		}
		var metricFilter *shared.MetricsFilter
		if customReportsArrayItem.MetricFilter != nil {
			var sourceGoogleAnalyticsDataAPIAndGroup *shared.SourceGoogleAnalyticsDataAPIAndGroup
			if customReportsArrayItem.MetricFilter.AndGroup != nil {
				var expressions2 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayExpression = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayExpression{}
				for _, expressionsItem2 := range customReportsArrayItem.MetricFilter.AndGroup.Expressions {
					var fieldName4 string
					fieldName4 = expressionsItem2.FieldName.ValueString()

					var filter4 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFilter
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter
					if expressionsItem2.Filter.StringFilter != nil {
						caseSensitive8 := new(bool)
						if !expressionsItem2.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem2.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive8 = expressionsItem2.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive8 = nil
						}
						var matchType4 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums{}
						for _, matchTypeItem4 := range expressionsItem2.Filter.StringFilter.MatchType {
							matchType4 = append(matchType4, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums(matchTypeItem4.ValueString()))
						}
						var value32 string
						value32 = expressionsItem2.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter{
							CaseSensitive: caseSensitive8,
							MatchType:     matchType4,
							Value:         value32,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter
					if expressionsItem2.Filter.InListFilter != nil {
						caseSensitive9 := new(bool)
						if !expressionsItem2.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem2.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive9 = expressionsItem2.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive9 = nil
						}
						var values4 []string = []string{}
						for _, valuesItem4 := range expressionsItem2.Filter.InListFilter.Values {
							values4 = append(values4, valuesItem4.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter{
							CaseSensitive: caseSensitive9,
							Values:        values4,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter
					if expressionsItem2.Filter.NumericFilter != nil {
						var operation4 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums{}
						for _, operationItem4 := range expressionsItem2.Filter.NumericFilter.Operation {
							operation4 = append(operation4, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums(operationItem4.ValueString()))
						}
						var value33 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value
						if expressionsItem2.Filter.NumericFilter.Value.Int64Value != nil {
							var value34 string
							value34 = expressionsItem2.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value{
								Value: value34,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value != nil {
							value33 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue
						if expressionsItem2.Filter.NumericFilter.Value.DoubleValue != nil {
							var value35 float64
							value35, _ = expressionsItem2.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue{
								Value: value35,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue != nil {
							value33 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter{
							Operation: operation4,
							Value:     value33,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter
					if expressionsItem2.Filter.BetweenFilter != nil {
						var fromValue4 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value
						if expressionsItem2.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value36 string
							value36 = expressionsItem2.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value{
								Value: value36,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value != nil {
							fromValue4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue
						if expressionsItem2.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value37 float64
							value37, _ = expressionsItem2.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue{
								Value: value37,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue != nil {
							fromValue4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue,
							}
						}
						var toValue4 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value
						if expressionsItem2.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value38 string
							value38 = expressionsItem2.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value{
								Value: value38,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value != nil {
							toValue4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue
						if expressionsItem2.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value39 float64
							value39, _ = expressionsItem2.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue{
								Value: value39,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue != nil {
							toValue4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter{
							FromValue: fromValue4,
							ToValue:   toValue4,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterBetweenFilter,
						}
					}
					expressions2 = append(expressions2, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayExpression{
						FieldName: fieldName4,
						Filter:    filter4,
					})
				}
				sourceGoogleAnalyticsDataAPIAndGroup = &shared.SourceGoogleAnalyticsDataAPIAndGroup{
					Expressions: expressions2,
				}
			}
			if sourceGoogleAnalyticsDataAPIAndGroup != nil {
				metricFilter = &shared.MetricsFilter{
					SourceGoogleAnalyticsDataAPIAndGroup: sourceGoogleAnalyticsDataAPIAndGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPIOrGroup *shared.SourceGoogleAnalyticsDataAPIOrGroup
			if customReportsArrayItem.MetricFilter.OrGroup != nil {
				var expressions3 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterExpression = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterExpression{}
				for _, expressionsItem3 := range customReportsArrayItem.MetricFilter.OrGroup.Expressions {
					var fieldName5 string
					fieldName5 = expressionsItem3.FieldName.ValueString()

					var filter5 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFilter
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter
					if expressionsItem3.Filter.StringFilter != nil {
						caseSensitive10 := new(bool)
						if !expressionsItem3.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem3.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive10 = expressionsItem3.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive10 = nil
						}
						var matchType5 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums{}
						for _, matchTypeItem5 := range expressionsItem3.Filter.StringFilter.MatchType {
							matchType5 = append(matchType5, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums(matchTypeItem5.ValueString()))
						}
						var value40 string
						value40 = expressionsItem3.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter{
							CaseSensitive: caseSensitive10,
							MatchType:     matchType5,
							Value:         value40,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter
					if expressionsItem3.Filter.InListFilter != nil {
						caseSensitive11 := new(bool)
						if !expressionsItem3.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem3.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive11 = expressionsItem3.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive11 = nil
						}
						var values5 []string = []string{}
						for _, valuesItem5 := range expressionsItem3.Filter.InListFilter.Values {
							values5 = append(values5, valuesItem5.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter{
							CaseSensitive: caseSensitive11,
							Values:        values5,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter
					if expressionsItem3.Filter.NumericFilter != nil {
						var operation5 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums{}
						for _, operationItem5 := range expressionsItem3.Filter.NumericFilter.Operation {
							operation5 = append(operation5, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums(operationItem5.ValueString()))
						}
						var value41 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value
						if expressionsItem3.Filter.NumericFilter.Value.Int64Value != nil {
							var value42 string
							value42 = expressionsItem3.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value{
								Value: value42,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value != nil {
							value41 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue
						if expressionsItem3.Filter.NumericFilter.Value.DoubleValue != nil {
							var value43 float64
							value43, _ = expressionsItem3.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue{
								Value: value43,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue != nil {
							value41 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter{
							Operation: operation5,
							Value:     value41,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter
					if expressionsItem3.Filter.BetweenFilter != nil {
						var fromValue5 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value
						if expressionsItem3.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value44 string
							value44 = expressionsItem3.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value{
								Value: value44,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value != nil {
							fromValue5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue
						if expressionsItem3.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value45 float64
							value45, _ = expressionsItem3.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue{
								Value: value45,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue != nil {
							fromValue5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue,
							}
						}
						var toValue5 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value
						if expressionsItem3.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value46 string
							value46 = expressionsItem3.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value{
								Value: value46,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value != nil {
							toValue5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue
						if expressionsItem3.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value47 float64
							value47, _ = expressionsItem3.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue{
								Value: value47,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue != nil {
							toValue5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter{
							FromValue: fromValue5,
							ToValue:   toValue5,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter,
						}
					}
					expressions3 = append(expressions3, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterExpression{
						FieldName: fieldName5,
						Filter:    filter5,
					})
				}
				sourceGoogleAnalyticsDataAPIOrGroup = &shared.SourceGoogleAnalyticsDataAPIOrGroup{
					Expressions: expressions3,
				}
			}
			if sourceGoogleAnalyticsDataAPIOrGroup != nil {
				metricFilter = &shared.MetricsFilter{
					SourceGoogleAnalyticsDataAPIOrGroup: sourceGoogleAnalyticsDataAPIOrGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPINotExpression *shared.SourceGoogleAnalyticsDataAPINotExpression
			if customReportsArrayItem.MetricFilter.NotExpression != nil {
				var expression1 *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterExpression
				if customReportsArrayItem.MetricFilter.NotExpression.Expression != nil {
					var fieldName6 string
					fieldName6 = customReportsArrayItem.MetricFilter.NotExpression.Expression.FieldName.ValueString()

					var filter6 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Filter
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter != nil {
						caseSensitive12 := new(bool)
						if !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive12 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive12 = nil
						}
						var matchType6 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums{}
						for _, matchTypeItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.MatchType {
							matchType6 = append(matchType6, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums(matchTypeItem6.ValueString()))
						}
						var value48 string
						value48 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter{
							CaseSensitive: caseSensitive12,
							MatchType:     matchType6,
							Value:         value48,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter != nil {
						caseSensitive13 := new(bool)
						if !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive13 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive13 = nil
						}
						var values6 []string = []string{}
						for _, valuesItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.Values {
							values6 = append(values6, valuesItem6.ValueString())
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter{
							CaseSensitive: caseSensitive13,
							Values:        values6,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter != nil {
						var operation6 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums{}
						for _, operationItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Operation {
							operation6 = append(operation6, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums(operationItem6.ValueString()))
						}
						var value49 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Value
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value != nil {
							var value50 string
							value50 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value{
								Value: value50,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value != nil {
							value49 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Value{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue != nil {
							var value51 float64
							value51, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue{
								Value: value51,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue != nil {
							value49 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Value{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter{
							Operation: operation6,
							Value:     value49,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter != nil {
						var fromValue6 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value52 string
							value52 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value{
								Value: value52,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value != nil {
							fromValue6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value53 float64
							value53, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue{
								Value: value53,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue != nil {
							fromValue6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue,
							}
						}
						var toValue6 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value54 string
							value54 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value{
								Value: value54,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value != nil {
							toValue6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value55 float64
							value55, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue{
								Value: value55,
							}
						}
						if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue != nil {
							toValue6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue{
								SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter{
							FromValue: fromValue6,
							ToValue:   toValue6,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter,
						}
					}
					expression1 = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterExpression{
						FieldName: fieldName6,
						Filter:    filter6,
					}
				}
				sourceGoogleAnalyticsDataAPINotExpression = &shared.SourceGoogleAnalyticsDataAPINotExpression{
					Expression: expression1,
				}
			}
			if sourceGoogleAnalyticsDataAPINotExpression != nil {
				metricFilter = &shared.MetricsFilter{
					SourceGoogleAnalyticsDataAPINotExpression: sourceGoogleAnalyticsDataAPINotExpression,
				}
			}
			var sourceGoogleAnalyticsDataAPISchemasFilter *shared.SourceGoogleAnalyticsDataAPISchemasFilter
			if customReportsArrayItem.MetricFilter.Filter != nil {
				var fieldName7 string
				fieldName7 = customReportsArrayItem.MetricFilter.Filter.FieldName.ValueString()

				var filter7 shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFilter
				var sourceGoogleAnalyticsDataAPIStringFilter *shared.SourceGoogleAnalyticsDataAPIStringFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter != nil {
					caseSensitive14 := new(bool)
					if !customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.IsNull() {
						*caseSensitive14 = customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive14 = nil
					}
					var matchType7 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValidEnums{}
					for _, matchTypeItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.MatchType {
						matchType7 = append(matchType7, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayValidEnums(matchTypeItem7.ValueString()))
					}
					var value56 string
					value56 = customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.Value.ValueString()

					sourceGoogleAnalyticsDataAPIStringFilter = &shared.SourceGoogleAnalyticsDataAPIStringFilter{
						CaseSensitive: caseSensitive14,
						MatchType:     matchType7,
						Value:         value56,
					}
				}
				if sourceGoogleAnalyticsDataAPIStringFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIStringFilter: sourceGoogleAnalyticsDataAPIStringFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIInListFilter *shared.SourceGoogleAnalyticsDataAPIInListFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter != nil {
					caseSensitive15 := new(bool)
					if !customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.IsNull() {
						*caseSensitive15 = customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive15 = nil
					}
					var values7 []string = []string{}
					for _, valuesItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.Values {
						values7 = append(values7, valuesItem7.ValueString())
					}
					sourceGoogleAnalyticsDataAPIInListFilter = &shared.SourceGoogleAnalyticsDataAPIInListFilter{
						CaseSensitive: caseSensitive15,
						Values:        values7,
					}
				}
				if sourceGoogleAnalyticsDataAPIInListFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIInListFilter: sourceGoogleAnalyticsDataAPIInListFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPINumericFilter *shared.SourceGoogleAnalyticsDataAPINumericFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter != nil {
					var operation7 []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValidEnums{}
					for _, operationItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Operation {
						operation7 = append(operation7, shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterValidEnums(operationItem7.ValueString()))
					}
					var value57 shared.SourceGoogleAnalyticsDataAPIValue
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.Int64Value != nil {
						var value58 string
						value58 = customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value{
							Value: value58,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value != nil {
						value57 = shared.SourceGoogleAnalyticsDataAPIValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.DoubleValue != nil {
						var value59 float64
						value59, _ = customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue{
							Value: value59,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue != nil {
						value57 = shared.SourceGoogleAnalyticsDataAPIValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayDoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPINumericFilter = &shared.SourceGoogleAnalyticsDataAPINumericFilter{
						Operation: operation7,
						Value:     value57,
					}
				}
				if sourceGoogleAnalyticsDataAPINumericFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPINumericFilter: sourceGoogleAnalyticsDataAPINumericFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIBetweenFilter *shared.SourceGoogleAnalyticsDataAPIBetweenFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter != nil {
					var fromValue7 shared.SourceGoogleAnalyticsDataAPIFromValue
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value != nil {
						var value60 string
						value60 = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value{
							Value: value60,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value != nil {
						fromValue7 = shared.SourceGoogleAnalyticsDataAPIFromValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue != nil {
						var value61 float64
						value61, _ = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue{
							Value: value61,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue != nil {
						fromValue7 = shared.SourceGoogleAnalyticsDataAPIFromValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterDoubleValue,
						}
					}
					var toValue7 shared.SourceGoogleAnalyticsDataAPIToValue
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value != nil {
						var value62 string
						value62 = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value{
							Value: value62,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value != nil {
						toValue7 = shared.SourceGoogleAnalyticsDataAPIToValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue != nil {
						var value63 float64
						value63, _ = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue{
							Value: value63,
						}
					}
					if sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue != nil {
						toValue7 = shared.SourceGoogleAnalyticsDataAPIToValue{
							SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue: sourceGoogleAnalyticsDataAPISchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPIBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIBetweenFilter{
						FromValue: fromValue7,
						ToValue:   toValue7,
					}
				}
				if sourceGoogleAnalyticsDataAPIBetweenFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPISchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIBetweenFilter: sourceGoogleAnalyticsDataAPIBetweenFilter,
					}
				}
				sourceGoogleAnalyticsDataAPISchemasFilter = &shared.SourceGoogleAnalyticsDataAPISchemasFilter{
					FieldName: fieldName7,
					Filter:    filter7,
				}
			}
			if sourceGoogleAnalyticsDataAPISchemasFilter != nil {
				metricFilter = &shared.MetricsFilter{
					SourceGoogleAnalyticsDataAPISchemasFilter: sourceGoogleAnalyticsDataAPISchemasFilter,
				}
			}
		}
		var metrics []string = []string{}
		for _, metricsItem := range customReportsArrayItem.Metrics {
			metrics = append(metrics, metricsItem.ValueString())
		}
		var name2 string
		name2 = customReportsArrayItem.Name.ValueString()

		customReportsArray = append(customReportsArray, shared.SourceGoogleAnalyticsDataAPICustomReportConfig{
			CohortSpec:      cohortSpec,
			DimensionFilter: dimensionFilter,
			Dimensions:      dimensions,
			MetricFilter:    metricFilter,
			Metrics:         metrics,
			Name:            name2,
		})
	}
	dateRangesEndDate := new(customTypes.Date)
	if !r.Configuration.DateRangesEndDate.IsUnknown() && !r.Configuration.DateRangesEndDate.IsNull() {
		dateRangesEndDate = customTypes.MustNewDateFromString(r.Configuration.DateRangesEndDate.ValueString())
	} else {
		dateRangesEndDate = nil
	}
	dateRangesStartDate := new(customTypes.Date)
	if !r.Configuration.DateRangesStartDate.IsUnknown() && !r.Configuration.DateRangesStartDate.IsNull() {
		dateRangesStartDate = customTypes.MustNewDateFromString(r.Configuration.DateRangesStartDate.ValueString())
	} else {
		dateRangesStartDate = nil
	}
	keepEmptyRows := new(bool)
	if !r.Configuration.KeepEmptyRows.IsUnknown() && !r.Configuration.KeepEmptyRows.IsNull() {
		*keepEmptyRows = r.Configuration.KeepEmptyRows.ValueBool()
	} else {
		keepEmptyRows = nil
	}
	lookbackWindow := new(int64)
	if !r.Configuration.LookbackWindow.IsUnknown() && !r.Configuration.LookbackWindow.IsNull() {
		*lookbackWindow = r.Configuration.LookbackWindow.ValueInt64()
	} else {
		lookbackWindow = nil
	}
	var propertyIds []string = []string{}
	for _, propertyIdsItem := range r.Configuration.PropertyIds {
		propertyIds = append(propertyIds, propertyIdsItem.ValueString())
	}
	windowInDays := new(int64)
	if !r.Configuration.WindowInDays.IsUnknown() && !r.Configuration.WindowInDays.IsNull() {
		*windowInDays = r.Configuration.WindowInDays.ValueInt64()
	} else {
		windowInDays = nil
	}
	configuration := shared.SourceGoogleAnalyticsDataAPI{
		ConvertConversionsEvent: convertConversionsEvent,
		Credentials:             credentials,
		CustomReportsArray:      customReportsArray,
		DateRangesEndDate:       dateRangesEndDate,
		DateRangesStartDate:     dateRangesStartDate,
		KeepEmptyRows:           keepEmptyRows,
		LookbackWindow:          lookbackWindow,
		PropertyIds:             propertyIds,
		WindowInDays:            windowInDays,
	}
	secretID := new(string)
	if !r.SecretID.IsUnknown() && !r.SecretID.IsNull() {
		*secretID = r.SecretID.ValueString()
	} else {
		secretID = nil
	}
	out := shared.SourceGoogleAnalyticsDataAPICreateRequest{
		Name:          name,
		DefinitionID:  definitionID,
		WorkspaceID:   workspaceID,
		Configuration: configuration,
		SecretID:      secretID,
	}
	return &out
}

func (r *SourceGoogleAnalyticsDataAPIResourceModel) RefreshFromSharedSourceResponse(resp *shared.SourceResponse) {
	if resp != nil {
		r.CreatedAt = types.Int64Value(resp.CreatedAt)
		r.DefinitionID = types.StringValue(resp.DefinitionID)
		r.Name = types.StringValue(resp.Name)
		if resp.ResourceAllocation == nil {
			r.ResourceAllocation = nil
		} else {
			r.ResourceAllocation = &tfTypes.ScopedResourceRequirements{}
			if resp.ResourceAllocation.Default == nil {
				r.ResourceAllocation.Default = nil
			} else {
				r.ResourceAllocation.Default = &tfTypes.ResourceRequirements{}
				r.ResourceAllocation.Default.CPULimit = types.StringPointerValue(resp.ResourceAllocation.Default.CPULimit)
				r.ResourceAllocation.Default.CPURequest = types.StringPointerValue(resp.ResourceAllocation.Default.CPURequest)
				r.ResourceAllocation.Default.EphemeralStorageLimit = types.StringPointerValue(resp.ResourceAllocation.Default.EphemeralStorageLimit)
				r.ResourceAllocation.Default.EphemeralStorageRequest = types.StringPointerValue(resp.ResourceAllocation.Default.EphemeralStorageRequest)
				r.ResourceAllocation.Default.MemoryLimit = types.StringPointerValue(resp.ResourceAllocation.Default.MemoryLimit)
				r.ResourceAllocation.Default.MemoryRequest = types.StringPointerValue(resp.ResourceAllocation.Default.MemoryRequest)
			}
			r.ResourceAllocation.JobSpecific = []tfTypes.JobTypeResourceLimit{}
			if len(r.ResourceAllocation.JobSpecific) > len(resp.ResourceAllocation.JobSpecific) {
				r.ResourceAllocation.JobSpecific = r.ResourceAllocation.JobSpecific[:len(resp.ResourceAllocation.JobSpecific)]
			}
			for jobSpecificCount, jobSpecificItem := range resp.ResourceAllocation.JobSpecific {
				var jobSpecific1 tfTypes.JobTypeResourceLimit
				jobSpecific1.JobType = types.StringValue(string(jobSpecificItem.JobType))
				jobSpecific1.ResourceRequirements.CPULimit = types.StringPointerValue(jobSpecificItem.ResourceRequirements.CPULimit)
				jobSpecific1.ResourceRequirements.CPURequest = types.StringPointerValue(jobSpecificItem.ResourceRequirements.CPURequest)
				jobSpecific1.ResourceRequirements.EphemeralStorageLimit = types.StringPointerValue(jobSpecificItem.ResourceRequirements.EphemeralStorageLimit)
				jobSpecific1.ResourceRequirements.EphemeralStorageRequest = types.StringPointerValue(jobSpecificItem.ResourceRequirements.EphemeralStorageRequest)
				jobSpecific1.ResourceRequirements.MemoryLimit = types.StringPointerValue(jobSpecificItem.ResourceRequirements.MemoryLimit)
				jobSpecific1.ResourceRequirements.MemoryRequest = types.StringPointerValue(jobSpecificItem.ResourceRequirements.MemoryRequest)
				if jobSpecificCount+1 > len(r.ResourceAllocation.JobSpecific) {
					r.ResourceAllocation.JobSpecific = append(r.ResourceAllocation.JobSpecific, jobSpecific1)
				} else {
					r.ResourceAllocation.JobSpecific[jobSpecificCount].JobType = jobSpecific1.JobType
					r.ResourceAllocation.JobSpecific[jobSpecificCount].ResourceRequirements = jobSpecific1.ResourceRequirements
				}
			}
		}
		r.SourceID = types.StringValue(resp.SourceID)
		r.SourceType = types.StringValue(resp.SourceType)
		r.WorkspaceID = types.StringValue(resp.WorkspaceID)
	}
}

func (r *SourceGoogleAnalyticsDataAPIResourceModel) ToSharedSourceGoogleAnalyticsDataAPIPutRequest() *shared.SourceGoogleAnalyticsDataAPIPutRequest {
	var name string
	name = r.Name.ValueString()

	var workspaceID string
	workspaceID = r.WorkspaceID.ValueString()

	convertConversionsEvent := new(bool)
	if !r.Configuration.ConvertConversionsEvent.IsUnknown() && !r.Configuration.ConvertConversionsEvent.IsNull() {
		*convertConversionsEvent = r.Configuration.ConvertConversionsEvent.ValueBool()
	} else {
		convertConversionsEvent = nil
	}
	var credentials *shared.SourceGoogleAnalyticsDataAPIUpdateCredentials
	if r.Configuration.Credentials != nil {
		var sourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth *shared.SourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth
		if r.Configuration.Credentials.AuthenticateViaGoogleOauth != nil {
			accessToken := new(string)
			if !r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.IsUnknown() && !r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.IsNull() {
				*accessToken = r.Configuration.Credentials.AuthenticateViaGoogleOauth.AccessToken.ValueString()
			} else {
				accessToken = nil
			}
			var clientID string
			clientID = r.Configuration.Credentials.AuthenticateViaGoogleOauth.ClientID.ValueString()

			var clientSecret string
			clientSecret = r.Configuration.Credentials.AuthenticateViaGoogleOauth.ClientSecret.ValueString()

			var refreshToken string
			refreshToken = r.Configuration.Credentials.AuthenticateViaGoogleOauth.RefreshToken.ValueString()

			sourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth = &shared.SourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth{
				AccessToken:  accessToken,
				ClientID:     clientID,
				ClientSecret: clientSecret,
				RefreshToken: refreshToken,
			}
		}
		if sourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth != nil {
			credentials = &shared.SourceGoogleAnalyticsDataAPIUpdateCredentials{
				SourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth: sourceGoogleAnalyticsDataAPIUpdateAuthenticateViaGoogleOauth,
			}
		}
		var sourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication *shared.SourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication
		if r.Configuration.Credentials.ServiceAccountKeyAuthentication != nil {
			var credentialsJSON string
			credentialsJSON = r.Configuration.Credentials.ServiceAccountKeyAuthentication.CredentialsJSON.ValueString()

			sourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication = &shared.SourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication{
				CredentialsJSON: credentialsJSON,
			}
		}
		if sourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication != nil {
			credentials = &shared.SourceGoogleAnalyticsDataAPIUpdateCredentials{
				SourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication: sourceGoogleAnalyticsDataAPIUpdateServiceAccountKeyAuthentication,
			}
		}
	}
	var customReportsArray []shared.SourceGoogleAnalyticsDataAPIUpdateCustomReportConfig = []shared.SourceGoogleAnalyticsDataAPIUpdateCustomReportConfig{}
	for _, customReportsArrayItem := range r.Configuration.CustomReportsArray {
		var cohortSpec *shared.SourceGoogleAnalyticsDataAPIUpdateCohortReports
		if customReportsArrayItem.CohortSpec != nil {
			var sourceGoogleAnalyticsDataAPIUpdateDisabled *shared.SourceGoogleAnalyticsDataAPIUpdateDisabled
			if customReportsArrayItem.CohortSpec.Disabled != nil {
				sourceGoogleAnalyticsDataAPIUpdateDisabled = &shared.SourceGoogleAnalyticsDataAPIUpdateDisabled{}
			}
			if sourceGoogleAnalyticsDataAPIUpdateDisabled != nil {
				cohortSpec = &shared.SourceGoogleAnalyticsDataAPIUpdateCohortReports{
					SourceGoogleAnalyticsDataAPIUpdateDisabled: sourceGoogleAnalyticsDataAPIUpdateDisabled,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled
			if customReportsArrayItem.CohortSpec.Enabled != nil {
				var cohortReportSettings *shared.SourceGoogleAnalyticsDataAPIUpdateCohortReportSettings
				if customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings != nil {
					accumulate := new(bool)
					if !customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.IsUnknown() && !customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.IsNull() {
						*accumulate = customReportsArrayItem.CohortSpec.Enabled.CohortReportSettings.Accumulate.ValueBool()
					} else {
						accumulate = nil
					}
					cohortReportSettings = &shared.SourceGoogleAnalyticsDataAPIUpdateCohortReportSettings{
						Accumulate: accumulate,
					}
				}
				var cohorts []shared.SourceGoogleAnalyticsDataAPIUpdateCohorts = []shared.SourceGoogleAnalyticsDataAPIUpdateCohorts{}
				for _, cohortsItem := range customReportsArrayItem.CohortSpec.Enabled.Cohorts {
					endDate := customTypes.MustDateFromString(cohortsItem.DateRange.EndDate.ValueString())
					startDate := customTypes.MustDateFromString(cohortsItem.DateRange.StartDate.ValueString())
					dateRange := shared.SourceGoogleAnalyticsDataAPIUpdateDateRange{
						EndDate:   endDate,
						StartDate: startDate,
					}
					dimension := shared.SourceGoogleAnalyticsDataAPIUpdateDimension(cohortsItem.Dimension.ValueString())
					name1 := new(string)
					if !cohortsItem.Name.IsUnknown() && !cohortsItem.Name.IsNull() {
						*name1 = cohortsItem.Name.ValueString()
					} else {
						name1 = nil
					}
					cohorts = append(cohorts, shared.SourceGoogleAnalyticsDataAPIUpdateCohorts{
						DateRange: dateRange,
						Dimension: dimension,
						Name:      name1,
					})
				}
				var cohortsRange *shared.SourceGoogleAnalyticsDataAPIUpdateCohortsRange
				if customReportsArrayItem.CohortSpec.Enabled.CohortsRange != nil {
					var endOffset int64
					endOffset = customReportsArrayItem.CohortSpec.Enabled.CohortsRange.EndOffset.ValueInt64()

					granularity := shared.SourceGoogleAnalyticsDataAPIUpdateGranularity(customReportsArrayItem.CohortSpec.Enabled.CohortsRange.Granularity.ValueString())
					startOffset := new(int64)
					if !customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.IsUnknown() && !customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.IsNull() {
						*startOffset = customReportsArrayItem.CohortSpec.Enabled.CohortsRange.StartOffset.ValueInt64()
					} else {
						startOffset = nil
					}
					cohortsRange = &shared.SourceGoogleAnalyticsDataAPIUpdateCohortsRange{
						EndOffset:   endOffset,
						Granularity: granularity,
						StartOffset: startOffset,
					}
				}
				sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled{
					CohortReportSettings: cohortReportSettings,
					Cohorts:              cohorts,
					CohortsRange:         cohortsRange,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled != nil {
				cohortSpec = &shared.SourceGoogleAnalyticsDataAPIUpdateCohortReports{
					SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayEnabled,
				}
			}
		}
		var dimensionFilter *shared.SourceGoogleAnalyticsDataAPIUpdateDimensionsFilter
		if customReportsArrayItem.DimensionFilter != nil {
			var sourceGoogleAnalyticsDataAPIUpdateAndGroup *shared.SourceGoogleAnalyticsDataAPIUpdateAndGroup
			if customReportsArrayItem.DimensionFilter.AndGroup != nil {
				var expressions []shared.SourceGoogleAnalyticsDataAPIUpdateExpression = []shared.SourceGoogleAnalyticsDataAPIUpdateExpression{}
				for _, expressionsItem := range customReportsArrayItem.DimensionFilter.AndGroup.Expressions {
					var fieldName string
					fieldName = expressionsItem.FieldName.ValueString()

					var filter shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter
					if expressionsItem.Filter.StringFilter != nil {
						caseSensitive := new(bool)
						if !expressionsItem.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive = expressionsItem.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive = nil
						}
						var matchType []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums{}
						for _, matchTypeItem := range expressionsItem.Filter.StringFilter.MatchType {
							matchType = append(matchType, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ValidEnums(matchTypeItem.ValueString()))
						}
						var value string
						value = expressionsItem.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter{
							CaseSensitive: caseSensitive,
							MatchType:     matchType,
							Value:         value,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter
					if expressionsItem.Filter.InListFilter != nil {
						caseSensitive1 := new(bool)
						if !expressionsItem.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive1 = expressionsItem.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive1 = nil
						}
						var values []string = []string{}
						for _, valuesItem := range expressionsItem.Filter.InListFilter.Values {
							values = append(values, valuesItem.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter{
							CaseSensitive: caseSensitive1,
							Values:        values,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter
					if expressionsItem.Filter.NumericFilter != nil {
						var operation []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums{}
						for _, operationItem := range expressionsItem.Filter.NumericFilter.Operation {
							operation = append(operation, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsValidEnums(operationItem.ValueString()))
						}
						var value1 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value
						if expressionsItem.Filter.NumericFilter.Value.Int64Value != nil {
							var value2 string
							value2 = expressionsItem.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value{
								Value: value2,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value != nil {
							value1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue
						if expressionsItem.Filter.NumericFilter.Value.DoubleValue != nil {
							var value3 float64
							value3, _ = expressionsItem.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue{
								Value: value3,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue != nil {
							value1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter{
							Operation: operation,
							Value:     value1,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter
					if expressionsItem.Filter.BetweenFilter != nil {
						var fromValue shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value
						if expressionsItem.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value4 string
							value4 = expressionsItem.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value{
								Value: value4,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value != nil {
							fromValue = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue
						if expressionsItem.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value5 float64
							value5, _ = expressionsItem.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue{
								Value: value5,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue != nil {
							fromValue = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsDoubleValue,
							}
						}
						var toValue shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value
						if expressionsItem.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value6 string
							value6 = expressionsItem.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value{
								Value: value6,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value != nil {
							toValue = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue
						if expressionsItem.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value7 float64
							value7, _ = expressionsItem.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue{
								Value: value7,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue != nil {
							toValue = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1ExpressionsFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter{
							FromValue: fromValue,
							ToValue:   toValue,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter != nil {
						filter = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter1Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterBetweenFilter,
						}
					}
					expressions = append(expressions, shared.SourceGoogleAnalyticsDataAPIUpdateExpression{
						FieldName: fieldName,
						Filter:    filter,
					})
				}
				sourceGoogleAnalyticsDataAPIUpdateAndGroup = &shared.SourceGoogleAnalyticsDataAPIUpdateAndGroup{
					Expressions: expressions,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateAndGroup != nil {
				dimensionFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateDimensionsFilter{
					SourceGoogleAnalyticsDataAPIUpdateAndGroup: sourceGoogleAnalyticsDataAPIUpdateAndGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateOrGroup *shared.SourceGoogleAnalyticsDataAPIUpdateOrGroup
			if customReportsArrayItem.DimensionFilter.OrGroup != nil {
				var expressions1 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasExpression = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasExpression{}
				for _, expressionsItem1 := range customReportsArrayItem.DimensionFilter.OrGroup.Expressions {
					var fieldName1 string
					fieldName1 = expressionsItem1.FieldName.ValueString()

					var filter1 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter
					if expressionsItem1.Filter.StringFilter != nil {
						caseSensitive2 := new(bool)
						if !expressionsItem1.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem1.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive2 = expressionsItem1.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive2 = nil
						}
						var matchType1 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums{}
						for _, matchTypeItem1 := range expressionsItem1.Filter.StringFilter.MatchType {
							matchType1 = append(matchType1, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2ValidEnums(matchTypeItem1.ValueString()))
						}
						var value8 string
						value8 = expressionsItem1.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter{
							CaseSensitive: caseSensitive2,
							MatchType:     matchType1,
							Value:         value8,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter
					if expressionsItem1.Filter.InListFilter != nil {
						caseSensitive3 := new(bool)
						if !expressionsItem1.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem1.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive3 = expressionsItem1.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive3 = nil
						}
						var values1 []string = []string{}
						for _, valuesItem1 := range expressionsItem1.Filter.InListFilter.Values {
							values1 = append(values1, valuesItem1.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter{
							CaseSensitive: caseSensitive3,
							Values:        values1,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter
					if expressionsItem1.Filter.NumericFilter != nil {
						var operation1 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValidEnums{}
						for _, operationItem1 := range expressionsItem1.Filter.NumericFilter.Operation {
							operation1 = append(operation1, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterValidEnums(operationItem1.ValueString()))
						}
						var value9 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value
						if expressionsItem1.Filter.NumericFilter.Value.Int64Value != nil {
							var value10 string
							value10 = expressionsItem1.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value{
								Value: value10,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value != nil {
							value9 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue
						if expressionsItem1.Filter.NumericFilter.Value.DoubleValue != nil {
							var value11 float64
							value11, _ = expressionsItem1.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue{
								Value: value11,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue != nil {
							value9 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter{
							Operation: operation1,
							Value:     value9,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter
					if expressionsItem1.Filter.BetweenFilter != nil {
						var fromValue1 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value
						if expressionsItem1.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value12 string
							value12 = expressionsItem1.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value{
								Value: value12,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value != nil {
							fromValue1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue
						if expressionsItem1.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value13 float64
							value13, _ = expressionsItem1.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue{
								Value: value13,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue != nil {
							fromValue1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterDoubleValue,
							}
						}
						var toValue1 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value
						if expressionsItem1.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value14 string
							value14 = expressionsItem1.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value{
								Value: value14,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value != nil {
							toValue1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue
						if expressionsItem1.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value15 float64
							value15, _ = expressionsItem1.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue{
								Value: value15,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue != nil {
							toValue1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter2DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter{
							FromValue: fromValue1,
							ToValue:   toValue1,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter != nil {
						filter1 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterBetweenFilter,
						}
					}
					expressions1 = append(expressions1, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasExpression{
						FieldName: fieldName1,
						Filter:    filter1,
					})
				}
				sourceGoogleAnalyticsDataAPIUpdateOrGroup = &shared.SourceGoogleAnalyticsDataAPIUpdateOrGroup{
					Expressions: expressions1,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateOrGroup != nil {
				dimensionFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateDimensionsFilter{
					SourceGoogleAnalyticsDataAPIUpdateOrGroup: sourceGoogleAnalyticsDataAPIUpdateOrGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateNotExpression *shared.SourceGoogleAnalyticsDataAPIUpdateNotExpression
			if customReportsArrayItem.DimensionFilter.NotExpression != nil {
				var expression *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayExpression
				if customReportsArrayItem.DimensionFilter.NotExpression.Expression != nil {
					var fieldName2 string
					fieldName2 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.FieldName.ValueString()

					var filter2 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter != nil {
						caseSensitive4 := new(bool)
						if !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive4 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive4 = nil
						}
						var matchType2 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums{}
						for _, matchTypeItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.MatchType {
							matchType2 = append(matchType2, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilterValidEnums(matchTypeItem2.ValueString()))
						}
						var value16 string
						value16 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter{
							CaseSensitive: caseSensitive4,
							MatchType:     matchType2,
							Value:         value16,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter != nil {
						caseSensitive5 := new(bool)
						if !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive5 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive5 = nil
						}
						var values2 []string = []string{}
						for _, valuesItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.InListFilter.Values {
							values2 = append(values2, valuesItem2.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter{
							CaseSensitive: caseSensitive5,
							Values:        values2,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter != nil {
						var operation2 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums{}
						for _, operationItem2 := range customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Operation {
							operation2 = append(operation2, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ValidEnums(operationItem2.ValueString()))
						}
						var value17 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value != nil {
							var value18 string
							value18 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value{
								Value: value18,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value != nil {
							value17 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue != nil {
							var value19 float64
							value19, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue{
								Value: value19,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue != nil {
							value17 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter{
							Operation: operation2,
							Value:     value17,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter
					if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter != nil {
						var fromValue2 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value20 string
							value20 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value{
								Value: value20,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value != nil {
							fromValue2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value21 float64
							value21, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue{
								Value: value21,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue != nil {
							fromValue2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionDoubleValue,
							}
						}
						var toValue2 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value22 string
							value22 = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value{
								Value: value22,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value != nil {
							toValue2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue
						if customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value23 float64
							value23, _ = customReportsArrayItem.DimensionFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue{
								Value: value23,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue != nil {
							toValue2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3ExpressionFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter{
							FromValue: fromValue2,
							ToValue:   toValue2,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter != nil {
						filter2 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterDimensionsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayBetweenFilter,
						}
					}
					expression = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayExpression{
						FieldName: fieldName2,
						Filter:    filter2,
					}
				}
				sourceGoogleAnalyticsDataAPIUpdateNotExpression = &shared.SourceGoogleAnalyticsDataAPIUpdateNotExpression{
					Expression: expression,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateNotExpression != nil {
				dimensionFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateDimensionsFilter{
					SourceGoogleAnalyticsDataAPIUpdateNotExpression: sourceGoogleAnalyticsDataAPIUpdateNotExpression,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateFilter *shared.SourceGoogleAnalyticsDataAPIUpdateFilter
			if customReportsArrayItem.DimensionFilter.Filter != nil {
				var fieldName3 string
				fieldName3 = customReportsArrayItem.DimensionFilter.Filter.FieldName.ValueString()

				var filter3 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFilter
				var sourceGoogleAnalyticsDataAPIUpdateStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateStringFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter != nil {
					caseSensitive6 := new(bool)
					if !customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.IsNull() {
						*caseSensitive6 = customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive6 = nil
					}
					var matchType3 []shared.SourceGoogleAnalyticsDataAPIUpdateValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateValidEnums{}
					for _, matchTypeItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.MatchType {
						matchType3 = append(matchType3, shared.SourceGoogleAnalyticsDataAPIUpdateValidEnums(matchTypeItem3.ValueString()))
					}
					var value24 string
					value24 = customReportsArrayItem.DimensionFilter.Filter.Filter.StringFilter.Value.ValueString()

					sourceGoogleAnalyticsDataAPIUpdateStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateStringFilter{
						CaseSensitive: caseSensitive6,
						MatchType:     matchType3,
						Value:         value24,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateStringFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFilter{
						SourceGoogleAnalyticsDataAPIUpdateStringFilter: sourceGoogleAnalyticsDataAPIUpdateStringFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateInListFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter != nil {
					caseSensitive7 := new(bool)
					if !customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.IsNull() {
						*caseSensitive7 = customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive7 = nil
					}
					var values3 []string = []string{}
					for _, valuesItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.InListFilter.Values {
						values3 = append(values3, valuesItem3.ValueString())
					}
					sourceGoogleAnalyticsDataAPIUpdateInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateInListFilter{
						CaseSensitive: caseSensitive7,
						Values:        values3,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateInListFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFilter{
						SourceGoogleAnalyticsDataAPIUpdateInListFilter: sourceGoogleAnalyticsDataAPIUpdateInListFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateNumericFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter != nil {
					var operation3 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValidEnums{}
					for _, operationItem3 := range customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Operation {
						operation3 = append(operation3, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValidEnums(operationItem3.ValueString()))
					}
					var value25 shared.SourceGoogleAnalyticsDataAPIUpdateValue
					var sourceGoogleAnalyticsDataAPIUpdateInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateInt64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.Int64Value != nil {
						var value26 string
						value26 = customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateInt64Value{
							Value: value26,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateInt64Value != nil {
						value25 = shared.SourceGoogleAnalyticsDataAPIUpdateValue{
							SourceGoogleAnalyticsDataAPIUpdateInt64Value: sourceGoogleAnalyticsDataAPIUpdateInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateDoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.DoubleValue != nil {
						var value27 float64
						value27, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateDoubleValue{
							Value: value27,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateDoubleValue != nil {
						value25 = shared.SourceGoogleAnalyticsDataAPIUpdateValue{
							SourceGoogleAnalyticsDataAPIUpdateDoubleValue: sourceGoogleAnalyticsDataAPIUpdateDoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPIUpdateNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateNumericFilter{
						Operation: operation3,
						Value:     value25,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateNumericFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFilter{
						SourceGoogleAnalyticsDataAPIUpdateNumericFilter: sourceGoogleAnalyticsDataAPIUpdateNumericFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateBetweenFilter
				if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter != nil {
					var fromValue3 shared.SourceGoogleAnalyticsDataAPIUpdateFromValue
					var sourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value != nil {
						var value28 string
						value28 = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value{
							Value: value28,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value != nil {
						fromValue3 = shared.SourceGoogleAnalyticsDataAPIUpdateFromValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue != nil {
						var value29 float64
						value29, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue{
							Value: value29,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue != nil {
						fromValue3 = shared.SourceGoogleAnalyticsDataAPIUpdateFromValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasDoubleValue,
						}
					}
					var toValue3 shared.SourceGoogleAnalyticsDataAPIUpdateToValue
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value != nil {
						var value30 string
						value30 = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value{
							Value: value30,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value != nil {
						toValue3 = shared.SourceGoogleAnalyticsDataAPIUpdateToValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue
					if customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue != nil {
						var value31 float64
						value31, _ = customReportsArrayItem.DimensionFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue{
							Value: value31,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue != nil {
						toValue3 = shared.SourceGoogleAnalyticsDataAPIUpdateToValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPIUpdateBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateBetweenFilter{
						FromValue: fromValue3,
						ToValue:   toValue3,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateBetweenFilter != nil {
					filter3 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayDimensionFilterFilter{
						SourceGoogleAnalyticsDataAPIUpdateBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateBetweenFilter,
					}
				}
				sourceGoogleAnalyticsDataAPIUpdateFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateFilter{
					FieldName: fieldName3,
					Filter:    filter3,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateFilter != nil {
				dimensionFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateDimensionsFilter{
					SourceGoogleAnalyticsDataAPIUpdateFilter: sourceGoogleAnalyticsDataAPIUpdateFilter,
				}
			}
		}
		var dimensions []string = []string{}
		for _, dimensionsItem := range customReportsArrayItem.Dimensions {
			dimensions = append(dimensions, dimensionsItem.ValueString())
		}
		var metricFilter *shared.SourceGoogleAnalyticsDataAPIUpdateMetricsFilter
		if customReportsArrayItem.MetricFilter != nil {
			var sourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup
			if customReportsArrayItem.MetricFilter.AndGroup != nil {
				var expressions2 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterExpression = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterExpression{}
				for _, expressionsItem2 := range customReportsArrayItem.MetricFilter.AndGroup.Expressions {
					var fieldName4 string
					fieldName4 = expressionsItem2.FieldName.ValueString()

					var filter4 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFilter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter
					if expressionsItem2.Filter.StringFilter != nil {
						caseSensitive8 := new(bool)
						if !expressionsItem2.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem2.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive8 = expressionsItem2.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive8 = nil
						}
						var matchType4 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums{}
						for _, matchTypeItem4 := range expressionsItem2.Filter.StringFilter.MatchType {
							matchType4 = append(matchType4, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ValidEnums(matchTypeItem4.ValueString()))
						}
						var value32 string
						value32 = expressionsItem2.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter{
							CaseSensitive: caseSensitive8,
							MatchType:     matchType4,
							Value:         value32,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter
					if expressionsItem2.Filter.InListFilter != nil {
						caseSensitive9 := new(bool)
						if !expressionsItem2.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem2.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive9 = expressionsItem2.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive9 = nil
						}
						var values4 []string = []string{}
						for _, valuesItem4 := range expressionsItem2.Filter.InListFilter.Values {
							values4 = append(values4, valuesItem4.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter{
							CaseSensitive: caseSensitive9,
							Values:        values4,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter
					if expressionsItem2.Filter.NumericFilter != nil {
						var operation4 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums{}
						for _, operationItem4 := range expressionsItem2.Filter.NumericFilter.Operation {
							operation4 = append(operation4, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValidEnums(operationItem4.ValueString()))
						}
						var value33 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value
						if expressionsItem2.Filter.NumericFilter.Value.Int64Value != nil {
							var value34 string
							value34 = expressionsItem2.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value{
								Value: value34,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value != nil {
							value33 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue
						if expressionsItem2.Filter.NumericFilter.Value.DoubleValue != nil {
							var value35 float64
							value35, _ = expressionsItem2.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue{
								Value: value35,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue != nil {
							value33 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter{
							Operation: operation4,
							Value:     value33,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter
					if expressionsItem2.Filter.BetweenFilter != nil {
						var fromValue4 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value
						if expressionsItem2.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value36 string
							value36 = expressionsItem2.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value{
								Value: value36,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value != nil {
							fromValue4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue
						if expressionsItem2.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value37 float64
							value37, _ = expressionsItem2.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue{
								Value: value37,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue != nil {
							fromValue4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1ExpressionsFilterDoubleValue,
							}
						}
						var toValue4 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value
						if expressionsItem2.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value38 string
							value38 = expressionsItem2.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value{
								Value: value38,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value != nil {
							toValue4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue
						if expressionsItem2.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value39 float64
							value39, _ = expressionsItem2.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue{
								Value: value39,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue != nil {
							toValue4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter1DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter{
							FromValue: fromValue4,
							ToValue:   toValue4,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter != nil {
						filter4 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterBetweenFilter,
						}
					}
					expressions2 = append(expressions2, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterExpression{
						FieldName: fieldName4,
						Filter:    filter4,
					})
				}
				sourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup{
					Expressions: expressions2,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup != nil {
				metricFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateMetricsFilter{
					SourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup: sourceGoogleAnalyticsDataAPIUpdateSchemasAndGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup
			if customReportsArrayItem.MetricFilter.OrGroup != nil {
				var expressions3 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterExpression = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterExpression{}
				for _, expressionsItem3 := range customReportsArrayItem.MetricFilter.OrGroup.Expressions {
					var fieldName5 string
					fieldName5 = expressionsItem3.FieldName.ValueString()

					var filter5 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFilter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter
					if expressionsItem3.Filter.StringFilter != nil {
						caseSensitive10 := new(bool)
						if !expressionsItem3.Filter.StringFilter.CaseSensitive.IsUnknown() && !expressionsItem3.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive10 = expressionsItem3.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive10 = nil
						}
						var matchType5 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums{}
						for _, matchTypeItem5 := range expressionsItem3.Filter.StringFilter.MatchType {
							matchType5 = append(matchType5, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ValidEnums(matchTypeItem5.ValueString()))
						}
						var value40 string
						value40 = expressionsItem3.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter{
							CaseSensitive: caseSensitive10,
							MatchType:     matchType5,
							Value:         value40,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterStringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter
					if expressionsItem3.Filter.InListFilter != nil {
						caseSensitive11 := new(bool)
						if !expressionsItem3.Filter.InListFilter.CaseSensitive.IsUnknown() && !expressionsItem3.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive11 = expressionsItem3.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive11 = nil
						}
						var values5 []string = []string{}
						for _, valuesItem5 := range expressionsItem3.Filter.InListFilter.Values {
							values5 = append(values5, valuesItem5.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter{
							CaseSensitive: caseSensitive11,
							Values:        values5,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter
					if expressionsItem3.Filter.NumericFilter != nil {
						var operation5 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums{}
						for _, operationItem5 := range expressionsItem3.Filter.NumericFilter.Operation {
							operation5 = append(operation5, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsValidEnums(operationItem5.ValueString()))
						}
						var value41 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value
						if expressionsItem3.Filter.NumericFilter.Value.Int64Value != nil {
							var value42 string
							value42 = expressionsItem3.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value{
								Value: value42,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value != nil {
							value41 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue
						if expressionsItem3.Filter.NumericFilter.Value.DoubleValue != nil {
							var value43 float64
							value43, _ = expressionsItem3.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue{
								Value: value43,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue != nil {
							value41 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter{
							Operation: operation5,
							Value:     value41,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterNumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter
					if expressionsItem3.Filter.BetweenFilter != nil {
						var fromValue5 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value
						if expressionsItem3.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value44 string
							value44 = expressionsItem3.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value{
								Value: value44,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value != nil {
							fromValue5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue
						if expressionsItem3.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value45 float64
							value45, _ = expressionsItem3.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue{
								Value: value45,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue != nil {
							fromValue5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsDoubleValue,
							}
						}
						var toValue5 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value
						if expressionsItem3.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value46 string
							value46 = expressionsItem3.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value{
								Value: value46,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value != nil {
							toValue5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue
						if expressionsItem3.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value47 float64
							value47, _ = expressionsItem3.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue{
								Value: value47,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue != nil {
							toValue5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter2ExpressionsFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter{
							FromValue: fromValue5,
							ToValue:   toValue5,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter != nil {
						filter5 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterFilter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterBetweenFilter,
						}
					}
					expressions3 = append(expressions3, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterExpression{
						FieldName: fieldName5,
						Filter:    filter5,
					})
				}
				sourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup{
					Expressions: expressions3,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup != nil {
				metricFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateMetricsFilter{
					SourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup: sourceGoogleAnalyticsDataAPIUpdateSchemasOrGroup,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression
			if customReportsArrayItem.MetricFilter.NotExpression != nil {
				var expression1 *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Expression
				if customReportsArrayItem.MetricFilter.NotExpression.Expression != nil {
					var fieldName6 string
					fieldName6 = customReportsArrayItem.MetricFilter.NotExpression.Expression.FieldName.ValueString()

					var filter6 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter != nil {
						caseSensitive12 := new(bool)
						if !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.IsNull() {
							*caseSensitive12 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive12 = nil
						}
						var matchType6 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums{}
						for _, matchTypeItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.MatchType {
							matchType6 = append(matchType6, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ValidEnums(matchTypeItem6.ValueString()))
						}
						var value48 string
						value48 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.StringFilter.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter{
							CaseSensitive: caseSensitive12,
							MatchType:     matchType6,
							Value:         value48,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3StringFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter != nil {
						caseSensitive13 := new(bool)
						if !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.IsNull() {
							*caseSensitive13 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.CaseSensitive.ValueBool()
						} else {
							caseSensitive13 = nil
						}
						var values6 []string = []string{}
						for _, valuesItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.InListFilter.Values {
							values6 = append(values6, valuesItem6.ValueString())
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter{
							CaseSensitive: caseSensitive13,
							Values:        values6,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3InListFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter != nil {
						var operation6 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums{}
						for _, operationItem6 := range customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Operation {
							operation6 = append(operation6, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionValidEnums(operationItem6.ValueString()))
						}
						var value49 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Value
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value != nil {
							var value50 string
							value50 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value{
								Value: value50,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value != nil {
							value49 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Value{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Int64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue != nil {
							var value51 float64
							value51, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue{
								Value: value51,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue != nil {
							value49 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Value{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3DoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter{
							Operation: operation6,
							Value:     value49,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3NumericFilter,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter
					if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter != nil {
						var fromValue6 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value != nil {
							var value52 string
							value52 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value{
								Value: value52,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value != nil {
							fromValue6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue != nil {
							var value53 float64
							value53, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue{
								Value: value53,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue != nil {
							fromValue6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3FromValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionDoubleValue,
							}
						}
						var toValue6 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value != nil {
							var value54 string
							value54 = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value{
								Value: value54,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value != nil {
							toValue6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterInt64Value,
							}
						}
						var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue
						if customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue != nil {
							var value55 float64
							value55, _ = customReportsArrayItem.MetricFilter.NotExpression.Expression.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

							sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue{
								Value: value55,
							}
						}
						if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue != nil {
							toValue6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ToValue{
								SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3ExpressionFilterDoubleValue,
							}
						}
						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter{
							FromValue: fromValue6,
							ToValue:   toValue6,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter != nil {
						filter6 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Filter{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3BetweenFilter,
						}
					}
					expression1 = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter3Expression{
						FieldName: fieldName6,
						Filter:    filter6,
					}
				}
				sourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression{
					Expression: expression1,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression != nil {
				metricFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateMetricsFilter{
					SourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression: sourceGoogleAnalyticsDataAPIUpdateSchemasNotExpression,
				}
			}
			var sourceGoogleAnalyticsDataAPIUpdateSchemasFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasFilter
			if customReportsArrayItem.MetricFilter.Filter != nil {
				var fieldName7 string
				fieldName7 = customReportsArrayItem.MetricFilter.Filter.FieldName.ValueString()

				var filter7 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFilter
				var sourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter != nil {
					caseSensitive14 := new(bool)
					if !customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.IsNull() {
						*caseSensitive14 = customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive14 = nil
					}
					var matchType7 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValidEnums{}
					for _, matchTypeItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.MatchType {
						matchType7 = append(matchType7, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayValidEnums(matchTypeItem7.ValueString()))
					}
					var value56 string
					value56 = customReportsArrayItem.MetricFilter.Filter.Filter.StringFilter.Value.ValueString()

					sourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter{
						CaseSensitive: caseSensitive14,
						MatchType:     matchType7,
						Value:         value56,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasStringFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter != nil {
					caseSensitive15 := new(bool)
					if !customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.IsUnknown() && !customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.IsNull() {
						*caseSensitive15 = customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.CaseSensitive.ValueBool()
					} else {
						caseSensitive15 = nil
					}
					var values7 []string = []string{}
					for _, valuesItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.InListFilter.Values {
						values7 = append(values7, valuesItem7.ValueString())
					}
					sourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter{
						CaseSensitive: caseSensitive15,
						Values:        values7,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasInListFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter != nil {
					var operation7 []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValidEnums = []shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValidEnums{}
					for _, operationItem7 := range customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Operation {
						operation7 = append(operation7, shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterValidEnums(operationItem7.ValueString()))
					}
					var value57 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValue
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.Int64Value != nil {
						var value58 string
						value58 = customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value{
							Value: value58,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value != nil {
						value57 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.DoubleValue != nil {
						var value59 float64
						value59, _ = customReportsArrayItem.MetricFilter.Filter.Filter.NumericFilter.Value.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue{
							Value: value59,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue != nil {
						value57 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterDoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter{
						Operation: operation7,
						Value:     value57,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasNumericFilter,
					}
				}
				var sourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter
				if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter != nil {
					var fromValue7 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasFromValue
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value != nil {
						var value60 string
						value60 = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value{
							Value: value60,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value != nil {
						fromValue7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasFromValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterInt64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue != nil {
						var value61 float64
						value61, _ = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.FromValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue{
							Value: value61,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue != nil {
						fromValue7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasFromValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilterDoubleValue,
						}
					}
					var toValue7 shared.SourceGoogleAnalyticsDataAPIUpdateSchemasToValue
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value != nil {
						var value62 string
						value62 = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.Int64Value.Value.ValueString()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value{
							Value: value62,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value != nil {
						toValue7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasToValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4Int64Value,
						}
					}
					var sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue *shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue
					if customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue != nil {
						var value63 float64
						value63, _ = customReportsArrayItem.MetricFilter.Filter.Filter.BetweenFilter.ToValue.DoubleValue.Value.ValueBigFloat().Float64()

						sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue{
							Value: value63,
						}
					}
					if sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue != nil {
						toValue7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasToValue{
							SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue: sourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayMetricFilterMetricsFilter4DoubleValue,
						}
					}
					sourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter{
						FromValue: fromValue7,
						ToValue:   toValue7,
					}
				}
				if sourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter != nil {
					filter7 = shared.SourceGoogleAnalyticsDataAPIUpdateSchemasCustomReportsArrayFilter{
						SourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasBetweenFilter,
					}
				}
				sourceGoogleAnalyticsDataAPIUpdateSchemasFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateSchemasFilter{
					FieldName: fieldName7,
					Filter:    filter7,
				}
			}
			if sourceGoogleAnalyticsDataAPIUpdateSchemasFilter != nil {
				metricFilter = &shared.SourceGoogleAnalyticsDataAPIUpdateMetricsFilter{
					SourceGoogleAnalyticsDataAPIUpdateSchemasFilter: sourceGoogleAnalyticsDataAPIUpdateSchemasFilter,
				}
			}
		}
		var metrics []string = []string{}
		for _, metricsItem := range customReportsArrayItem.Metrics {
			metrics = append(metrics, metricsItem.ValueString())
		}
		var name2 string
		name2 = customReportsArrayItem.Name.ValueString()

		customReportsArray = append(customReportsArray, shared.SourceGoogleAnalyticsDataAPIUpdateCustomReportConfig{
			CohortSpec:      cohortSpec,
			DimensionFilter: dimensionFilter,
			Dimensions:      dimensions,
			MetricFilter:    metricFilter,
			Metrics:         metrics,
			Name:            name2,
		})
	}
	dateRangesEndDate := new(customTypes.Date)
	if !r.Configuration.DateRangesEndDate.IsUnknown() && !r.Configuration.DateRangesEndDate.IsNull() {
		dateRangesEndDate = customTypes.MustNewDateFromString(r.Configuration.DateRangesEndDate.ValueString())
	} else {
		dateRangesEndDate = nil
	}
	dateRangesStartDate := new(customTypes.Date)
	if !r.Configuration.DateRangesStartDate.IsUnknown() && !r.Configuration.DateRangesStartDate.IsNull() {
		dateRangesStartDate = customTypes.MustNewDateFromString(r.Configuration.DateRangesStartDate.ValueString())
	} else {
		dateRangesStartDate = nil
	}
	keepEmptyRows := new(bool)
	if !r.Configuration.KeepEmptyRows.IsUnknown() && !r.Configuration.KeepEmptyRows.IsNull() {
		*keepEmptyRows = r.Configuration.KeepEmptyRows.ValueBool()
	} else {
		keepEmptyRows = nil
	}
	lookbackWindow := new(int64)
	if !r.Configuration.LookbackWindow.IsUnknown() && !r.Configuration.LookbackWindow.IsNull() {
		*lookbackWindow = r.Configuration.LookbackWindow.ValueInt64()
	} else {
		lookbackWindow = nil
	}
	var propertyIds []string = []string{}
	for _, propertyIdsItem := range r.Configuration.PropertyIds {
		propertyIds = append(propertyIds, propertyIdsItem.ValueString())
	}
	windowInDays := new(int64)
	if !r.Configuration.WindowInDays.IsUnknown() && !r.Configuration.WindowInDays.IsNull() {
		*windowInDays = r.Configuration.WindowInDays.ValueInt64()
	} else {
		windowInDays = nil
	}
	configuration := shared.SourceGoogleAnalyticsDataAPIUpdate{
		ConvertConversionsEvent: convertConversionsEvent,
		Credentials:             credentials,
		CustomReportsArray:      customReportsArray,
		DateRangesEndDate:       dateRangesEndDate,
		DateRangesStartDate:     dateRangesStartDate,
		KeepEmptyRows:           keepEmptyRows,
		LookbackWindow:          lookbackWindow,
		PropertyIds:             propertyIds,
		WindowInDays:            windowInDays,
	}
	out := shared.SourceGoogleAnalyticsDataAPIPutRequest{
		Name:          name,
		WorkspaceID:   workspaceID,
		Configuration: configuration,
	}
	return &out
}
