github.com/cosmos/cosmos-sdk@v0.50.10/testutil/testdata/testpb/unknonwnproto.pulsar.go (about)

     1  // Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
     2  package testpb
     3  
     4  import (
     5  	v1beta1 "cosmossdk.io/api/cosmos/tx/v1beta1"
     6  	binary "encoding/binary"
     7  	fmt "fmt"
     8  	runtime "github.com/cosmos/cosmos-proto/runtime"
     9  	_ "github.com/cosmos/gogoproto/gogoproto"
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoiface "google.golang.org/protobuf/runtime/protoiface"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	anypb "google.golang.org/protobuf/types/known/anypb"
    14  	io "io"
    15  	math "math"
    16  	reflect "reflect"
    17  	sort "sort"
    18  	sync "sync"
    19  )
    20  
    21  var (
    22  	md_Customer1                  protoreflect.MessageDescriptor
    23  	fd_Customer1_id               protoreflect.FieldDescriptor
    24  	fd_Customer1_name             protoreflect.FieldDescriptor
    25  	fd_Customer1_subscription_fee protoreflect.FieldDescriptor
    26  	fd_Customer1_payment          protoreflect.FieldDescriptor
    27  )
    28  
    29  func init() {
    30  	file_testpb_unknonwnproto_proto_init()
    31  	md_Customer1 = File_testpb_unknonwnproto_proto.Messages().ByName("Customer1")
    32  	fd_Customer1_id = md_Customer1.Fields().ByName("id")
    33  	fd_Customer1_name = md_Customer1.Fields().ByName("name")
    34  	fd_Customer1_subscription_fee = md_Customer1.Fields().ByName("subscription_fee")
    35  	fd_Customer1_payment = md_Customer1.Fields().ByName("payment")
    36  }
    37  
    38  var _ protoreflect.Message = (*fastReflection_Customer1)(nil)
    39  
    40  type fastReflection_Customer1 Customer1
    41  
    42  func (x *Customer1) ProtoReflect() protoreflect.Message {
    43  	return (*fastReflection_Customer1)(x)
    44  }
    45  
    46  func (x *Customer1) slowProtoReflect() protoreflect.Message {
    47  	mi := &file_testpb_unknonwnproto_proto_msgTypes[0]
    48  	if protoimpl.UnsafeEnabled && x != nil {
    49  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    50  		if ms.LoadMessageInfo() == nil {
    51  			ms.StoreMessageInfo(mi)
    52  		}
    53  		return ms
    54  	}
    55  	return mi.MessageOf(x)
    56  }
    57  
    58  var _fastReflection_Customer1_messageType fastReflection_Customer1_messageType
    59  var _ protoreflect.MessageType = fastReflection_Customer1_messageType{}
    60  
    61  type fastReflection_Customer1_messageType struct{}
    62  
    63  func (x fastReflection_Customer1_messageType) Zero() protoreflect.Message {
    64  	return (*fastReflection_Customer1)(nil)
    65  }
    66  func (x fastReflection_Customer1_messageType) New() protoreflect.Message {
    67  	return new(fastReflection_Customer1)
    68  }
    69  func (x fastReflection_Customer1_messageType) Descriptor() protoreflect.MessageDescriptor {
    70  	return md_Customer1
    71  }
    72  
    73  // Descriptor returns message descriptor, which contains only the protobuf
    74  // type information for the message.
    75  func (x *fastReflection_Customer1) Descriptor() protoreflect.MessageDescriptor {
    76  	return md_Customer1
    77  }
    78  
    79  // Type returns the message type, which encapsulates both Go and protobuf
    80  // type information. If the Go type information is not needed,
    81  // it is recommended that the message descriptor be used instead.
    82  func (x *fastReflection_Customer1) Type() protoreflect.MessageType {
    83  	return _fastReflection_Customer1_messageType
    84  }
    85  
    86  // New returns a newly allocated and mutable empty message.
    87  func (x *fastReflection_Customer1) New() protoreflect.Message {
    88  	return new(fastReflection_Customer1)
    89  }
    90  
    91  // Interface unwraps the message reflection interface and
    92  // returns the underlying ProtoMessage interface.
    93  func (x *fastReflection_Customer1) Interface() protoreflect.ProtoMessage {
    94  	return (*Customer1)(x)
    95  }
    96  
    97  // Range iterates over every populated field in an undefined order,
    98  // calling f for each field descriptor and value encountered.
    99  // Range returns immediately if f returns false.
   100  // While iterating, mutating operations may only be performed
   101  // on the current field descriptor.
   102  func (x *fastReflection_Customer1) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
   103  	if x.Id != int32(0) {
   104  		value := protoreflect.ValueOfInt32(x.Id)
   105  		if !f(fd_Customer1_id, value) {
   106  			return
   107  		}
   108  	}
   109  	if x.Name != "" {
   110  		value := protoreflect.ValueOfString(x.Name)
   111  		if !f(fd_Customer1_name, value) {
   112  			return
   113  		}
   114  	}
   115  	if x.SubscriptionFee != float32(0) || math.Signbit(float64(x.SubscriptionFee)) {
   116  		value := protoreflect.ValueOfFloat32(x.SubscriptionFee)
   117  		if !f(fd_Customer1_subscription_fee, value) {
   118  			return
   119  		}
   120  	}
   121  	if x.Payment != "" {
   122  		value := protoreflect.ValueOfString(x.Payment)
   123  		if !f(fd_Customer1_payment, value) {
   124  			return
   125  		}
   126  	}
   127  }
   128  
   129  // Has reports whether a field is populated.
   130  //
   131  // Some fields have the property of nullability where it is possible to
   132  // distinguish between the default value of a field and whether the field
   133  // was explicitly populated with the default value. Singular message fields,
   134  // member fields of a oneof, and proto2 scalar fields are nullable. Such
   135  // fields are populated only if explicitly set.
   136  //
   137  // In other cases (aside from the nullable cases above),
   138  // a proto3 scalar field is populated if it contains a non-zero value, and
   139  // a repeated field is populated if it is non-empty.
   140  func (x *fastReflection_Customer1) Has(fd protoreflect.FieldDescriptor) bool {
   141  	switch fd.FullName() {
   142  	case "testpb.Customer1.id":
   143  		return x.Id != int32(0)
   144  	case "testpb.Customer1.name":
   145  		return x.Name != ""
   146  	case "testpb.Customer1.subscription_fee":
   147  		return x.SubscriptionFee != float32(0) || math.Signbit(float64(x.SubscriptionFee))
   148  	case "testpb.Customer1.payment":
   149  		return x.Payment != ""
   150  	default:
   151  		if fd.IsExtension() {
   152  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   153  		}
   154  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", fd.FullName()))
   155  	}
   156  }
   157  
   158  // Clear clears the field such that a subsequent Has call reports false.
   159  //
   160  // Clearing an extension field clears both the extension type and value
   161  // associated with the given field number.
   162  //
   163  // Clear is a mutating operation and unsafe for concurrent use.
   164  func (x *fastReflection_Customer1) Clear(fd protoreflect.FieldDescriptor) {
   165  	switch fd.FullName() {
   166  	case "testpb.Customer1.id":
   167  		x.Id = int32(0)
   168  	case "testpb.Customer1.name":
   169  		x.Name = ""
   170  	case "testpb.Customer1.subscription_fee":
   171  		x.SubscriptionFee = float32(0)
   172  	case "testpb.Customer1.payment":
   173  		x.Payment = ""
   174  	default:
   175  		if fd.IsExtension() {
   176  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   177  		}
   178  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", fd.FullName()))
   179  	}
   180  }
   181  
   182  // Get retrieves the value for a field.
   183  //
   184  // For unpopulated scalars, it returns the default value, where
   185  // the default value of a bytes scalar is guaranteed to be a copy.
   186  // For unpopulated composite types, it returns an empty, read-only view
   187  // of the value; to obtain a mutable reference, use Mutable.
   188  func (x *fastReflection_Customer1) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
   189  	switch descriptor.FullName() {
   190  	case "testpb.Customer1.id":
   191  		value := x.Id
   192  		return protoreflect.ValueOfInt32(value)
   193  	case "testpb.Customer1.name":
   194  		value := x.Name
   195  		return protoreflect.ValueOfString(value)
   196  	case "testpb.Customer1.subscription_fee":
   197  		value := x.SubscriptionFee
   198  		return protoreflect.ValueOfFloat32(value)
   199  	case "testpb.Customer1.payment":
   200  		value := x.Payment
   201  		return protoreflect.ValueOfString(value)
   202  	default:
   203  		if descriptor.IsExtension() {
   204  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   205  		}
   206  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", descriptor.FullName()))
   207  	}
   208  }
   209  
   210  // Set stores the value for a field.
   211  //
   212  // For a field belonging to a oneof, it implicitly clears any other field
   213  // that may be currently set within the same oneof.
   214  // For extension fields, it implicitly stores the provided ExtensionType.
   215  // When setting a composite type, it is unspecified whether the stored value
   216  // aliases the source's memory in any way. If the composite value is an
   217  // empty, read-only value, then it panics.
   218  //
   219  // Set is a mutating operation and unsafe for concurrent use.
   220  func (x *fastReflection_Customer1) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
   221  	switch fd.FullName() {
   222  	case "testpb.Customer1.id":
   223  		x.Id = int32(value.Int())
   224  	case "testpb.Customer1.name":
   225  		x.Name = value.Interface().(string)
   226  	case "testpb.Customer1.subscription_fee":
   227  		x.SubscriptionFee = float32(value.Float())
   228  	case "testpb.Customer1.payment":
   229  		x.Payment = value.Interface().(string)
   230  	default:
   231  		if fd.IsExtension() {
   232  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   233  		}
   234  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", fd.FullName()))
   235  	}
   236  }
   237  
   238  // Mutable returns a mutable reference to a composite type.
   239  //
   240  // If the field is unpopulated, it may allocate a composite value.
   241  // For a field belonging to a oneof, it implicitly clears any other field
   242  // that may be currently set within the same oneof.
   243  // For extension fields, it implicitly stores the provided ExtensionType
   244  // if not already stored.
   245  // It panics if the field does not contain a composite type.
   246  //
   247  // Mutable is a mutating operation and unsafe for concurrent use.
   248  func (x *fastReflection_Customer1) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
   249  	switch fd.FullName() {
   250  	case "testpb.Customer1.id":
   251  		panic(fmt.Errorf("field id of message testpb.Customer1 is not mutable"))
   252  	case "testpb.Customer1.name":
   253  		panic(fmt.Errorf("field name of message testpb.Customer1 is not mutable"))
   254  	case "testpb.Customer1.subscription_fee":
   255  		panic(fmt.Errorf("field subscription_fee of message testpb.Customer1 is not mutable"))
   256  	case "testpb.Customer1.payment":
   257  		panic(fmt.Errorf("field payment of message testpb.Customer1 is not mutable"))
   258  	default:
   259  		if fd.IsExtension() {
   260  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   261  		}
   262  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", fd.FullName()))
   263  	}
   264  }
   265  
   266  // NewField returns a new value that is assignable to the field
   267  // for the given descriptor. For scalars, this returns the default value.
   268  // For lists, maps, and messages, this returns a new, empty, mutable value.
   269  func (x *fastReflection_Customer1) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
   270  	switch fd.FullName() {
   271  	case "testpb.Customer1.id":
   272  		return protoreflect.ValueOfInt32(int32(0))
   273  	case "testpb.Customer1.name":
   274  		return protoreflect.ValueOfString("")
   275  	case "testpb.Customer1.subscription_fee":
   276  		return protoreflect.ValueOfFloat32(float32(0))
   277  	case "testpb.Customer1.payment":
   278  		return protoreflect.ValueOfString("")
   279  	default:
   280  		if fd.IsExtension() {
   281  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer1"))
   282  		}
   283  		panic(fmt.Errorf("message testpb.Customer1 does not contain field %s", fd.FullName()))
   284  	}
   285  }
   286  
   287  // WhichOneof reports which field within the oneof is populated,
   288  // returning nil if none are populated.
   289  // It panics if the oneof descriptor does not belong to this message.
   290  func (x *fastReflection_Customer1) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
   291  	switch d.FullName() {
   292  	default:
   293  		panic(fmt.Errorf("%s is not a oneof field in testpb.Customer1", d.FullName()))
   294  	}
   295  	panic("unreachable")
   296  }
   297  
   298  // GetUnknown retrieves the entire list of unknown fields.
   299  // The caller may only mutate the contents of the RawFields
   300  // if the mutated bytes are stored back into the message with SetUnknown.
   301  func (x *fastReflection_Customer1) GetUnknown() protoreflect.RawFields {
   302  	return x.unknownFields
   303  }
   304  
   305  // SetUnknown stores an entire list of unknown fields.
   306  // The raw fields must be syntactically valid according to the wire format.
   307  // An implementation may panic if this is not the case.
   308  // Once stored, the caller must not mutate the content of the RawFields.
   309  // An empty RawFields may be passed to clear the fields.
   310  //
   311  // SetUnknown is a mutating operation and unsafe for concurrent use.
   312  func (x *fastReflection_Customer1) SetUnknown(fields protoreflect.RawFields) {
   313  	x.unknownFields = fields
   314  }
   315  
   316  // IsValid reports whether the message is valid.
   317  //
   318  // An invalid message is an empty, read-only value.
   319  //
   320  // An invalid message often corresponds to a nil pointer of the concrete
   321  // message type, but the details are implementation dependent.
   322  // Validity is not part of the protobuf data model, and may not
   323  // be preserved in marshaling or other operations.
   324  func (x *fastReflection_Customer1) IsValid() bool {
   325  	return x != nil
   326  }
   327  
   328  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
   329  // This method may return nil.
   330  //
   331  // The returned methods type is identical to
   332  // "google.golang.org/protobuf/runtime/protoiface".Methods.
   333  // Consult the protoiface package documentation for details.
   334  func (x *fastReflection_Customer1) ProtoMethods() *protoiface.Methods {
   335  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
   336  		x := input.Message.Interface().(*Customer1)
   337  		if x == nil {
   338  			return protoiface.SizeOutput{
   339  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   340  				Size:              0,
   341  			}
   342  		}
   343  		options := runtime.SizeInputToOptions(input)
   344  		_ = options
   345  		var n int
   346  		var l int
   347  		_ = l
   348  		if x.Id != 0 {
   349  			n += 1 + runtime.Sov(uint64(x.Id))
   350  		}
   351  		l = len(x.Name)
   352  		if l > 0 {
   353  			n += 1 + l + runtime.Sov(uint64(l))
   354  		}
   355  		if x.SubscriptionFee != 0 || math.Signbit(float64(x.SubscriptionFee)) {
   356  			n += 5
   357  		}
   358  		l = len(x.Payment)
   359  		if l > 0 {
   360  			n += 1 + l + runtime.Sov(uint64(l))
   361  		}
   362  		if x.unknownFields != nil {
   363  			n += len(x.unknownFields)
   364  		}
   365  		return protoiface.SizeOutput{
   366  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   367  			Size:              n,
   368  		}
   369  	}
   370  
   371  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
   372  		x := input.Message.Interface().(*Customer1)
   373  		if x == nil {
   374  			return protoiface.MarshalOutput{
   375  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   376  				Buf:               input.Buf,
   377  			}, nil
   378  		}
   379  		options := runtime.MarshalInputToOptions(input)
   380  		_ = options
   381  		size := options.Size(x)
   382  		dAtA := make([]byte, size)
   383  		i := len(dAtA)
   384  		_ = i
   385  		var l int
   386  		_ = l
   387  		if x.unknownFields != nil {
   388  			i -= len(x.unknownFields)
   389  			copy(dAtA[i:], x.unknownFields)
   390  		}
   391  		if len(x.Payment) > 0 {
   392  			i -= len(x.Payment)
   393  			copy(dAtA[i:], x.Payment)
   394  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Payment)))
   395  			i--
   396  			dAtA[i] = 0x3a
   397  		}
   398  		if x.SubscriptionFee != 0 || math.Signbit(float64(x.SubscriptionFee)) {
   399  			i -= 4
   400  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.SubscriptionFee))))
   401  			i--
   402  			dAtA[i] = 0x1d
   403  		}
   404  		if len(x.Name) > 0 {
   405  			i -= len(x.Name)
   406  			copy(dAtA[i:], x.Name)
   407  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
   408  			i--
   409  			dAtA[i] = 0x12
   410  		}
   411  		if x.Id != 0 {
   412  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
   413  			i--
   414  			dAtA[i] = 0x8
   415  		}
   416  		if input.Buf != nil {
   417  			input.Buf = append(input.Buf, dAtA...)
   418  		} else {
   419  			input.Buf = dAtA
   420  		}
   421  		return protoiface.MarshalOutput{
   422  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   423  			Buf:               input.Buf,
   424  		}, nil
   425  	}
   426  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
   427  		x := input.Message.Interface().(*Customer1)
   428  		if x == nil {
   429  			return protoiface.UnmarshalOutput{
   430  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   431  				Flags:             input.Flags,
   432  			}, nil
   433  		}
   434  		options := runtime.UnmarshalInputToOptions(input)
   435  		_ = options
   436  		dAtA := input.Buf
   437  		l := len(dAtA)
   438  		iNdEx := 0
   439  		for iNdEx < l {
   440  			preIndex := iNdEx
   441  			var wire uint64
   442  			for shift := uint(0); ; shift += 7 {
   443  				if shift >= 64 {
   444  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
   445  				}
   446  				if iNdEx >= l {
   447  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   448  				}
   449  				b := dAtA[iNdEx]
   450  				iNdEx++
   451  				wire |= uint64(b&0x7F) << shift
   452  				if b < 0x80 {
   453  					break
   454  				}
   455  			}
   456  			fieldNum := int32(wire >> 3)
   457  			wireType := int(wire & 0x7)
   458  			if wireType == 4 {
   459  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer1: wiretype end group for non-group")
   460  			}
   461  			if fieldNum <= 0 {
   462  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer1: illegal tag %d (wire type %d)", fieldNum, wire)
   463  			}
   464  			switch fieldNum {
   465  			case 1:
   466  				if wireType != 0 {
   467  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
   468  				}
   469  				x.Id = 0
   470  				for shift := uint(0); ; shift += 7 {
   471  					if shift >= 64 {
   472  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
   473  					}
   474  					if iNdEx >= l {
   475  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   476  					}
   477  					b := dAtA[iNdEx]
   478  					iNdEx++
   479  					x.Id |= int32(b&0x7F) << shift
   480  					if b < 0x80 {
   481  						break
   482  					}
   483  				}
   484  			case 2:
   485  				if wireType != 2 {
   486  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
   487  				}
   488  				var stringLen uint64
   489  				for shift := uint(0); ; shift += 7 {
   490  					if shift >= 64 {
   491  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
   492  					}
   493  					if iNdEx >= l {
   494  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   495  					}
   496  					b := dAtA[iNdEx]
   497  					iNdEx++
   498  					stringLen |= uint64(b&0x7F) << shift
   499  					if b < 0x80 {
   500  						break
   501  					}
   502  				}
   503  				intStringLen := int(stringLen)
   504  				if intStringLen < 0 {
   505  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
   506  				}
   507  				postIndex := iNdEx + intStringLen
   508  				if postIndex < 0 {
   509  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
   510  				}
   511  				if postIndex > l {
   512  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   513  				}
   514  				x.Name = string(dAtA[iNdEx:postIndex])
   515  				iNdEx = postIndex
   516  			case 3:
   517  				if wireType != 5 {
   518  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SubscriptionFee", wireType)
   519  				}
   520  				var v uint32
   521  				if (iNdEx + 4) > l {
   522  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   523  				}
   524  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
   525  				iNdEx += 4
   526  				x.SubscriptionFee = float32(math.Float32frombits(v))
   527  			case 7:
   528  				if wireType != 2 {
   529  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Payment", wireType)
   530  				}
   531  				var stringLen uint64
   532  				for shift := uint(0); ; shift += 7 {
   533  					if shift >= 64 {
   534  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
   535  					}
   536  					if iNdEx >= l {
   537  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   538  					}
   539  					b := dAtA[iNdEx]
   540  					iNdEx++
   541  					stringLen |= uint64(b&0x7F) << shift
   542  					if b < 0x80 {
   543  						break
   544  					}
   545  				}
   546  				intStringLen := int(stringLen)
   547  				if intStringLen < 0 {
   548  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
   549  				}
   550  				postIndex := iNdEx + intStringLen
   551  				if postIndex < 0 {
   552  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
   553  				}
   554  				if postIndex > l {
   555  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   556  				}
   557  				x.Payment = string(dAtA[iNdEx:postIndex])
   558  				iNdEx = postIndex
   559  			default:
   560  				iNdEx = preIndex
   561  				skippy, err := runtime.Skip(dAtA[iNdEx:])
   562  				if err != nil {
   563  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
   564  				}
   565  				if (skippy < 0) || (iNdEx+skippy) < 0 {
   566  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
   567  				}
   568  				if (iNdEx + skippy) > l {
   569  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   570  				}
   571  				if !options.DiscardUnknown {
   572  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
   573  				}
   574  				iNdEx += skippy
   575  			}
   576  		}
   577  
   578  		if iNdEx > l {
   579  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
   580  		}
   581  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
   582  	}
   583  	return &protoiface.Methods{
   584  		NoUnkeyedLiterals: struct{}{},
   585  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
   586  		Size:              size,
   587  		Marshal:           marshal,
   588  		Unmarshal:         unmarshal,
   589  		Merge:             nil,
   590  		CheckInitialized:  nil,
   591  	}
   592  }
   593  
   594  var (
   595  	md_Customer2               protoreflect.MessageDescriptor
   596  	fd_Customer2_id            protoreflect.FieldDescriptor
   597  	fd_Customer2_industry      protoreflect.FieldDescriptor
   598  	fd_Customer2_name          protoreflect.FieldDescriptor
   599  	fd_Customer2_fewer         protoreflect.FieldDescriptor
   600  	fd_Customer2_reserved      protoreflect.FieldDescriptor
   601  	fd_Customer2_city          protoreflect.FieldDescriptor
   602  	fd_Customer2_miscellaneous protoreflect.FieldDescriptor
   603  )
   604  
   605  func init() {
   606  	file_testpb_unknonwnproto_proto_init()
   607  	md_Customer2 = File_testpb_unknonwnproto_proto.Messages().ByName("Customer2")
   608  	fd_Customer2_id = md_Customer2.Fields().ByName("id")
   609  	fd_Customer2_industry = md_Customer2.Fields().ByName("industry")
   610  	fd_Customer2_name = md_Customer2.Fields().ByName("name")
   611  	fd_Customer2_fewer = md_Customer2.Fields().ByName("fewer")
   612  	fd_Customer2_reserved = md_Customer2.Fields().ByName("reserved")
   613  	fd_Customer2_city = md_Customer2.Fields().ByName("city")
   614  	fd_Customer2_miscellaneous = md_Customer2.Fields().ByName("miscellaneous")
   615  }
   616  
   617  var _ protoreflect.Message = (*fastReflection_Customer2)(nil)
   618  
   619  type fastReflection_Customer2 Customer2
   620  
   621  func (x *Customer2) ProtoReflect() protoreflect.Message {
   622  	return (*fastReflection_Customer2)(x)
   623  }
   624  
   625  func (x *Customer2) slowProtoReflect() protoreflect.Message {
   626  	mi := &file_testpb_unknonwnproto_proto_msgTypes[1]
   627  	if protoimpl.UnsafeEnabled && x != nil {
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		if ms.LoadMessageInfo() == nil {
   630  			ms.StoreMessageInfo(mi)
   631  		}
   632  		return ms
   633  	}
   634  	return mi.MessageOf(x)
   635  }
   636  
   637  var _fastReflection_Customer2_messageType fastReflection_Customer2_messageType
   638  var _ protoreflect.MessageType = fastReflection_Customer2_messageType{}
   639  
   640  type fastReflection_Customer2_messageType struct{}
   641  
   642  func (x fastReflection_Customer2_messageType) Zero() protoreflect.Message {
   643  	return (*fastReflection_Customer2)(nil)
   644  }
   645  func (x fastReflection_Customer2_messageType) New() protoreflect.Message {
   646  	return new(fastReflection_Customer2)
   647  }
   648  func (x fastReflection_Customer2_messageType) Descriptor() protoreflect.MessageDescriptor {
   649  	return md_Customer2
   650  }
   651  
   652  // Descriptor returns message descriptor, which contains only the protobuf
   653  // type information for the message.
   654  func (x *fastReflection_Customer2) Descriptor() protoreflect.MessageDescriptor {
   655  	return md_Customer2
   656  }
   657  
   658  // Type returns the message type, which encapsulates both Go and protobuf
   659  // type information. If the Go type information is not needed,
   660  // it is recommended that the message descriptor be used instead.
   661  func (x *fastReflection_Customer2) Type() protoreflect.MessageType {
   662  	return _fastReflection_Customer2_messageType
   663  }
   664  
   665  // New returns a newly allocated and mutable empty message.
   666  func (x *fastReflection_Customer2) New() protoreflect.Message {
   667  	return new(fastReflection_Customer2)
   668  }
   669  
   670  // Interface unwraps the message reflection interface and
   671  // returns the underlying ProtoMessage interface.
   672  func (x *fastReflection_Customer2) Interface() protoreflect.ProtoMessage {
   673  	return (*Customer2)(x)
   674  }
   675  
   676  // Range iterates over every populated field in an undefined order,
   677  // calling f for each field descriptor and value encountered.
   678  // Range returns immediately if f returns false.
   679  // While iterating, mutating operations may only be performed
   680  // on the current field descriptor.
   681  func (x *fastReflection_Customer2) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
   682  	if x.Id != int32(0) {
   683  		value := protoreflect.ValueOfInt32(x.Id)
   684  		if !f(fd_Customer2_id, value) {
   685  			return
   686  		}
   687  	}
   688  	if x.Industry != int32(0) {
   689  		value := protoreflect.ValueOfInt32(x.Industry)
   690  		if !f(fd_Customer2_industry, value) {
   691  			return
   692  		}
   693  	}
   694  	if x.Name != "" {
   695  		value := protoreflect.ValueOfString(x.Name)
   696  		if !f(fd_Customer2_name, value) {
   697  			return
   698  		}
   699  	}
   700  	if x.Fewer != float32(0) || math.Signbit(float64(x.Fewer)) {
   701  		value := protoreflect.ValueOfFloat32(x.Fewer)
   702  		if !f(fd_Customer2_fewer, value) {
   703  			return
   704  		}
   705  	}
   706  	if x.Reserved != int64(0) {
   707  		value := protoreflect.ValueOfInt64(x.Reserved)
   708  		if !f(fd_Customer2_reserved, value) {
   709  			return
   710  		}
   711  	}
   712  	if x.City != 0 {
   713  		value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.City))
   714  		if !f(fd_Customer2_city, value) {
   715  			return
   716  		}
   717  	}
   718  	if x.Miscellaneous != nil {
   719  		value := protoreflect.ValueOfMessage(x.Miscellaneous.ProtoReflect())
   720  		if !f(fd_Customer2_miscellaneous, value) {
   721  			return
   722  		}
   723  	}
   724  }
   725  
   726  // Has reports whether a field is populated.
   727  //
   728  // Some fields have the property of nullability where it is possible to
   729  // distinguish between the default value of a field and whether the field
   730  // was explicitly populated with the default value. Singular message fields,
   731  // member fields of a oneof, and proto2 scalar fields are nullable. Such
   732  // fields are populated only if explicitly set.
   733  //
   734  // In other cases (aside from the nullable cases above),
   735  // a proto3 scalar field is populated if it contains a non-zero value, and
   736  // a repeated field is populated if it is non-empty.
   737  func (x *fastReflection_Customer2) Has(fd protoreflect.FieldDescriptor) bool {
   738  	switch fd.FullName() {
   739  	case "testpb.Customer2.id":
   740  		return x.Id != int32(0)
   741  	case "testpb.Customer2.industry":
   742  		return x.Industry != int32(0)
   743  	case "testpb.Customer2.name":
   744  		return x.Name != ""
   745  	case "testpb.Customer2.fewer":
   746  		return x.Fewer != float32(0) || math.Signbit(float64(x.Fewer))
   747  	case "testpb.Customer2.reserved":
   748  		return x.Reserved != int64(0)
   749  	case "testpb.Customer2.city":
   750  		return x.City != 0
   751  	case "testpb.Customer2.miscellaneous":
   752  		return x.Miscellaneous != nil
   753  	default:
   754  		if fd.IsExtension() {
   755  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   756  		}
   757  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", fd.FullName()))
   758  	}
   759  }
   760  
   761  // Clear clears the field such that a subsequent Has call reports false.
   762  //
   763  // Clearing an extension field clears both the extension type and value
   764  // associated with the given field number.
   765  //
   766  // Clear is a mutating operation and unsafe for concurrent use.
   767  func (x *fastReflection_Customer2) Clear(fd protoreflect.FieldDescriptor) {
   768  	switch fd.FullName() {
   769  	case "testpb.Customer2.id":
   770  		x.Id = int32(0)
   771  	case "testpb.Customer2.industry":
   772  		x.Industry = int32(0)
   773  	case "testpb.Customer2.name":
   774  		x.Name = ""
   775  	case "testpb.Customer2.fewer":
   776  		x.Fewer = float32(0)
   777  	case "testpb.Customer2.reserved":
   778  		x.Reserved = int64(0)
   779  	case "testpb.Customer2.city":
   780  		x.City = 0
   781  	case "testpb.Customer2.miscellaneous":
   782  		x.Miscellaneous = nil
   783  	default:
   784  		if fd.IsExtension() {
   785  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   786  		}
   787  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", fd.FullName()))
   788  	}
   789  }
   790  
   791  // Get retrieves the value for a field.
   792  //
   793  // For unpopulated scalars, it returns the default value, where
   794  // the default value of a bytes scalar is guaranteed to be a copy.
   795  // For unpopulated composite types, it returns an empty, read-only view
   796  // of the value; to obtain a mutable reference, use Mutable.
   797  func (x *fastReflection_Customer2) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
   798  	switch descriptor.FullName() {
   799  	case "testpb.Customer2.id":
   800  		value := x.Id
   801  		return protoreflect.ValueOfInt32(value)
   802  	case "testpb.Customer2.industry":
   803  		value := x.Industry
   804  		return protoreflect.ValueOfInt32(value)
   805  	case "testpb.Customer2.name":
   806  		value := x.Name
   807  		return protoreflect.ValueOfString(value)
   808  	case "testpb.Customer2.fewer":
   809  		value := x.Fewer
   810  		return protoreflect.ValueOfFloat32(value)
   811  	case "testpb.Customer2.reserved":
   812  		value := x.Reserved
   813  		return protoreflect.ValueOfInt64(value)
   814  	case "testpb.Customer2.city":
   815  		value := x.City
   816  		return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
   817  	case "testpb.Customer2.miscellaneous":
   818  		value := x.Miscellaneous
   819  		return protoreflect.ValueOfMessage(value.ProtoReflect())
   820  	default:
   821  		if descriptor.IsExtension() {
   822  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   823  		}
   824  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", descriptor.FullName()))
   825  	}
   826  }
   827  
   828  // Set stores the value for a field.
   829  //
   830  // For a field belonging to a oneof, it implicitly clears any other field
   831  // that may be currently set within the same oneof.
   832  // For extension fields, it implicitly stores the provided ExtensionType.
   833  // When setting a composite type, it is unspecified whether the stored value
   834  // aliases the source's memory in any way. If the composite value is an
   835  // empty, read-only value, then it panics.
   836  //
   837  // Set is a mutating operation and unsafe for concurrent use.
   838  func (x *fastReflection_Customer2) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
   839  	switch fd.FullName() {
   840  	case "testpb.Customer2.id":
   841  		x.Id = int32(value.Int())
   842  	case "testpb.Customer2.industry":
   843  		x.Industry = int32(value.Int())
   844  	case "testpb.Customer2.name":
   845  		x.Name = value.Interface().(string)
   846  	case "testpb.Customer2.fewer":
   847  		x.Fewer = float32(value.Float())
   848  	case "testpb.Customer2.reserved":
   849  		x.Reserved = value.Int()
   850  	case "testpb.Customer2.city":
   851  		x.City = (Customer2_City)(value.Enum())
   852  	case "testpb.Customer2.miscellaneous":
   853  		x.Miscellaneous = value.Message().Interface().(*anypb.Any)
   854  	default:
   855  		if fd.IsExtension() {
   856  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   857  		}
   858  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", fd.FullName()))
   859  	}
   860  }
   861  
   862  // Mutable returns a mutable reference to a composite type.
   863  //
   864  // If the field is unpopulated, it may allocate a composite value.
   865  // For a field belonging to a oneof, it implicitly clears any other field
   866  // that may be currently set within the same oneof.
   867  // For extension fields, it implicitly stores the provided ExtensionType
   868  // if not already stored.
   869  // It panics if the field does not contain a composite type.
   870  //
   871  // Mutable is a mutating operation and unsafe for concurrent use.
   872  func (x *fastReflection_Customer2) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
   873  	switch fd.FullName() {
   874  	case "testpb.Customer2.miscellaneous":
   875  		if x.Miscellaneous == nil {
   876  			x.Miscellaneous = new(anypb.Any)
   877  		}
   878  		return protoreflect.ValueOfMessage(x.Miscellaneous.ProtoReflect())
   879  	case "testpb.Customer2.id":
   880  		panic(fmt.Errorf("field id of message testpb.Customer2 is not mutable"))
   881  	case "testpb.Customer2.industry":
   882  		panic(fmt.Errorf("field industry of message testpb.Customer2 is not mutable"))
   883  	case "testpb.Customer2.name":
   884  		panic(fmt.Errorf("field name of message testpb.Customer2 is not mutable"))
   885  	case "testpb.Customer2.fewer":
   886  		panic(fmt.Errorf("field fewer of message testpb.Customer2 is not mutable"))
   887  	case "testpb.Customer2.reserved":
   888  		panic(fmt.Errorf("field reserved of message testpb.Customer2 is not mutable"))
   889  	case "testpb.Customer2.city":
   890  		panic(fmt.Errorf("field city of message testpb.Customer2 is not mutable"))
   891  	default:
   892  		if fd.IsExtension() {
   893  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   894  		}
   895  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", fd.FullName()))
   896  	}
   897  }
   898  
   899  // NewField returns a new value that is assignable to the field
   900  // for the given descriptor. For scalars, this returns the default value.
   901  // For lists, maps, and messages, this returns a new, empty, mutable value.
   902  func (x *fastReflection_Customer2) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
   903  	switch fd.FullName() {
   904  	case "testpb.Customer2.id":
   905  		return protoreflect.ValueOfInt32(int32(0))
   906  	case "testpb.Customer2.industry":
   907  		return protoreflect.ValueOfInt32(int32(0))
   908  	case "testpb.Customer2.name":
   909  		return protoreflect.ValueOfString("")
   910  	case "testpb.Customer2.fewer":
   911  		return protoreflect.ValueOfFloat32(float32(0))
   912  	case "testpb.Customer2.reserved":
   913  		return protoreflect.ValueOfInt64(int64(0))
   914  	case "testpb.Customer2.city":
   915  		return protoreflect.ValueOfEnum(0)
   916  	case "testpb.Customer2.miscellaneous":
   917  		m := new(anypb.Any)
   918  		return protoreflect.ValueOfMessage(m.ProtoReflect())
   919  	default:
   920  		if fd.IsExtension() {
   921  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer2"))
   922  		}
   923  		panic(fmt.Errorf("message testpb.Customer2 does not contain field %s", fd.FullName()))
   924  	}
   925  }
   926  
   927  // WhichOneof reports which field within the oneof is populated,
   928  // returning nil if none are populated.
   929  // It panics if the oneof descriptor does not belong to this message.
   930  func (x *fastReflection_Customer2) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
   931  	switch d.FullName() {
   932  	default:
   933  		panic(fmt.Errorf("%s is not a oneof field in testpb.Customer2", d.FullName()))
   934  	}
   935  	panic("unreachable")
   936  }
   937  
   938  // GetUnknown retrieves the entire list of unknown fields.
   939  // The caller may only mutate the contents of the RawFields
   940  // if the mutated bytes are stored back into the message with SetUnknown.
   941  func (x *fastReflection_Customer2) GetUnknown() protoreflect.RawFields {
   942  	return x.unknownFields
   943  }
   944  
   945  // SetUnknown stores an entire list of unknown fields.
   946  // The raw fields must be syntactically valid according to the wire format.
   947  // An implementation may panic if this is not the case.
   948  // Once stored, the caller must not mutate the content of the RawFields.
   949  // An empty RawFields may be passed to clear the fields.
   950  //
   951  // SetUnknown is a mutating operation and unsafe for concurrent use.
   952  func (x *fastReflection_Customer2) SetUnknown(fields protoreflect.RawFields) {
   953  	x.unknownFields = fields
   954  }
   955  
   956  // IsValid reports whether the message is valid.
   957  //
   958  // An invalid message is an empty, read-only value.
   959  //
   960  // An invalid message often corresponds to a nil pointer of the concrete
   961  // message type, but the details are implementation dependent.
   962  // Validity is not part of the protobuf data model, and may not
   963  // be preserved in marshaling or other operations.
   964  func (x *fastReflection_Customer2) IsValid() bool {
   965  	return x != nil
   966  }
   967  
   968  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
   969  // This method may return nil.
   970  //
   971  // The returned methods type is identical to
   972  // "google.golang.org/protobuf/runtime/protoiface".Methods.
   973  // Consult the protoiface package documentation for details.
   974  func (x *fastReflection_Customer2) ProtoMethods() *protoiface.Methods {
   975  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
   976  		x := input.Message.Interface().(*Customer2)
   977  		if x == nil {
   978  			return protoiface.SizeOutput{
   979  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
   980  				Size:              0,
   981  			}
   982  		}
   983  		options := runtime.SizeInputToOptions(input)
   984  		_ = options
   985  		var n int
   986  		var l int
   987  		_ = l
   988  		if x.Id != 0 {
   989  			n += 1 + runtime.Sov(uint64(x.Id))
   990  		}
   991  		if x.Industry != 0 {
   992  			n += 1 + runtime.Sov(uint64(x.Industry))
   993  		}
   994  		l = len(x.Name)
   995  		if l > 0 {
   996  			n += 1 + l + runtime.Sov(uint64(l))
   997  		}
   998  		if x.Fewer != 0 || math.Signbit(float64(x.Fewer)) {
   999  			n += 5
  1000  		}
  1001  		if x.Reserved != 0 {
  1002  			n += 2 + runtime.Sov(uint64(x.Reserved))
  1003  		}
  1004  		if x.City != 0 {
  1005  			n += 1 + runtime.Sov(uint64(x.City))
  1006  		}
  1007  		if x.Miscellaneous != nil {
  1008  			l = options.Size(x.Miscellaneous)
  1009  			n += 1 + l + runtime.Sov(uint64(l))
  1010  		}
  1011  		if x.unknownFields != nil {
  1012  			n += len(x.unknownFields)
  1013  		}
  1014  		return protoiface.SizeOutput{
  1015  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1016  			Size:              n,
  1017  		}
  1018  	}
  1019  
  1020  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  1021  		x := input.Message.Interface().(*Customer2)
  1022  		if x == nil {
  1023  			return protoiface.MarshalOutput{
  1024  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1025  				Buf:               input.Buf,
  1026  			}, nil
  1027  		}
  1028  		options := runtime.MarshalInputToOptions(input)
  1029  		_ = options
  1030  		size := options.Size(x)
  1031  		dAtA := make([]byte, size)
  1032  		i := len(dAtA)
  1033  		_ = i
  1034  		var l int
  1035  		_ = l
  1036  		if x.unknownFields != nil {
  1037  			i -= len(x.unknownFields)
  1038  			copy(dAtA[i:], x.unknownFields)
  1039  		}
  1040  		if x.Reserved != 0 {
  1041  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Reserved))
  1042  			i--
  1043  			dAtA[i] = 0x41
  1044  			i--
  1045  			dAtA[i] = 0xb8
  1046  		}
  1047  		if x.Miscellaneous != nil {
  1048  			encoded, err := options.Marshal(x.Miscellaneous)
  1049  			if err != nil {
  1050  				return protoiface.MarshalOutput{
  1051  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1052  					Buf:               input.Buf,
  1053  				}, err
  1054  			}
  1055  			i -= len(encoded)
  1056  			copy(dAtA[i:], encoded)
  1057  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  1058  			i--
  1059  			dAtA[i] = 0x52
  1060  		}
  1061  		if x.City != 0 {
  1062  			i = runtime.EncodeVarint(dAtA, i, uint64(x.City))
  1063  			i--
  1064  			dAtA[i] = 0x30
  1065  		}
  1066  		if x.Fewer != 0 || math.Signbit(float64(x.Fewer)) {
  1067  			i -= 4
  1068  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.Fewer))))
  1069  			i--
  1070  			dAtA[i] = 0x25
  1071  		}
  1072  		if len(x.Name) > 0 {
  1073  			i -= len(x.Name)
  1074  			copy(dAtA[i:], x.Name)
  1075  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  1076  			i--
  1077  			dAtA[i] = 0x1a
  1078  		}
  1079  		if x.Industry != 0 {
  1080  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Industry))
  1081  			i--
  1082  			dAtA[i] = 0x10
  1083  		}
  1084  		if x.Id != 0 {
  1085  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  1086  			i--
  1087  			dAtA[i] = 0x8
  1088  		}
  1089  		if input.Buf != nil {
  1090  			input.Buf = append(input.Buf, dAtA...)
  1091  		} else {
  1092  			input.Buf = dAtA
  1093  		}
  1094  		return protoiface.MarshalOutput{
  1095  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1096  			Buf:               input.Buf,
  1097  		}, nil
  1098  	}
  1099  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  1100  		x := input.Message.Interface().(*Customer2)
  1101  		if x == nil {
  1102  			return protoiface.UnmarshalOutput{
  1103  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1104  				Flags:             input.Flags,
  1105  			}, nil
  1106  		}
  1107  		options := runtime.UnmarshalInputToOptions(input)
  1108  		_ = options
  1109  		dAtA := input.Buf
  1110  		l := len(dAtA)
  1111  		iNdEx := 0
  1112  		for iNdEx < l {
  1113  			preIndex := iNdEx
  1114  			var wire uint64
  1115  			for shift := uint(0); ; shift += 7 {
  1116  				if shift >= 64 {
  1117  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1118  				}
  1119  				if iNdEx >= l {
  1120  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1121  				}
  1122  				b := dAtA[iNdEx]
  1123  				iNdEx++
  1124  				wire |= uint64(b&0x7F) << shift
  1125  				if b < 0x80 {
  1126  					break
  1127  				}
  1128  			}
  1129  			fieldNum := int32(wire >> 3)
  1130  			wireType := int(wire & 0x7)
  1131  			if wireType == 4 {
  1132  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer2: wiretype end group for non-group")
  1133  			}
  1134  			if fieldNum <= 0 {
  1135  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer2: illegal tag %d (wire type %d)", fieldNum, wire)
  1136  			}
  1137  			switch fieldNum {
  1138  			case 1:
  1139  				if wireType != 0 {
  1140  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  1141  				}
  1142  				x.Id = 0
  1143  				for shift := uint(0); ; shift += 7 {
  1144  					if shift >= 64 {
  1145  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1146  					}
  1147  					if iNdEx >= l {
  1148  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1149  					}
  1150  					b := dAtA[iNdEx]
  1151  					iNdEx++
  1152  					x.Id |= int32(b&0x7F) << shift
  1153  					if b < 0x80 {
  1154  						break
  1155  					}
  1156  				}
  1157  			case 2:
  1158  				if wireType != 0 {
  1159  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Industry", wireType)
  1160  				}
  1161  				x.Industry = 0
  1162  				for shift := uint(0); ; shift += 7 {
  1163  					if shift >= 64 {
  1164  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1165  					}
  1166  					if iNdEx >= l {
  1167  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1168  					}
  1169  					b := dAtA[iNdEx]
  1170  					iNdEx++
  1171  					x.Industry |= int32(b&0x7F) << shift
  1172  					if b < 0x80 {
  1173  						break
  1174  					}
  1175  				}
  1176  			case 3:
  1177  				if wireType != 2 {
  1178  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1179  				}
  1180  				var stringLen uint64
  1181  				for shift := uint(0); ; shift += 7 {
  1182  					if shift >= 64 {
  1183  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1184  					}
  1185  					if iNdEx >= l {
  1186  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1187  					}
  1188  					b := dAtA[iNdEx]
  1189  					iNdEx++
  1190  					stringLen |= uint64(b&0x7F) << shift
  1191  					if b < 0x80 {
  1192  						break
  1193  					}
  1194  				}
  1195  				intStringLen := int(stringLen)
  1196  				if intStringLen < 0 {
  1197  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1198  				}
  1199  				postIndex := iNdEx + intStringLen
  1200  				if postIndex < 0 {
  1201  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1202  				}
  1203  				if postIndex > l {
  1204  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1205  				}
  1206  				x.Name = string(dAtA[iNdEx:postIndex])
  1207  				iNdEx = postIndex
  1208  			case 4:
  1209  				if wireType != 5 {
  1210  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fewer", wireType)
  1211  				}
  1212  				var v uint32
  1213  				if (iNdEx + 4) > l {
  1214  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1215  				}
  1216  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  1217  				iNdEx += 4
  1218  				x.Fewer = float32(math.Float32frombits(v))
  1219  			case 1047:
  1220  				if wireType != 0 {
  1221  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reserved", wireType)
  1222  				}
  1223  				x.Reserved = 0
  1224  				for shift := uint(0); ; shift += 7 {
  1225  					if shift >= 64 {
  1226  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1227  					}
  1228  					if iNdEx >= l {
  1229  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1230  					}
  1231  					b := dAtA[iNdEx]
  1232  					iNdEx++
  1233  					x.Reserved |= int64(b&0x7F) << shift
  1234  					if b < 0x80 {
  1235  						break
  1236  					}
  1237  				}
  1238  			case 6:
  1239  				if wireType != 0 {
  1240  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
  1241  				}
  1242  				x.City = 0
  1243  				for shift := uint(0); ; shift += 7 {
  1244  					if shift >= 64 {
  1245  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1246  					}
  1247  					if iNdEx >= l {
  1248  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1249  					}
  1250  					b := dAtA[iNdEx]
  1251  					iNdEx++
  1252  					x.City |= Customer2_City(b&0x7F) << shift
  1253  					if b < 0x80 {
  1254  						break
  1255  					}
  1256  				}
  1257  			case 10:
  1258  				if wireType != 2 {
  1259  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Miscellaneous", wireType)
  1260  				}
  1261  				var msglen int
  1262  				for shift := uint(0); ; shift += 7 {
  1263  					if shift >= 64 {
  1264  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1265  					}
  1266  					if iNdEx >= l {
  1267  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1268  					}
  1269  					b := dAtA[iNdEx]
  1270  					iNdEx++
  1271  					msglen |= int(b&0x7F) << shift
  1272  					if b < 0x80 {
  1273  						break
  1274  					}
  1275  				}
  1276  				if msglen < 0 {
  1277  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1278  				}
  1279  				postIndex := iNdEx + msglen
  1280  				if postIndex < 0 {
  1281  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1282  				}
  1283  				if postIndex > l {
  1284  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1285  				}
  1286  				if x.Miscellaneous == nil {
  1287  					x.Miscellaneous = &anypb.Any{}
  1288  				}
  1289  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Miscellaneous); err != nil {
  1290  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  1291  				}
  1292  				iNdEx = postIndex
  1293  			default:
  1294  				iNdEx = preIndex
  1295  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  1296  				if err != nil {
  1297  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  1298  				}
  1299  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  1300  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1301  				}
  1302  				if (iNdEx + skippy) > l {
  1303  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1304  				}
  1305  				if !options.DiscardUnknown {
  1306  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1307  				}
  1308  				iNdEx += skippy
  1309  			}
  1310  		}
  1311  
  1312  		if iNdEx > l {
  1313  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1314  		}
  1315  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  1316  	}
  1317  	return &protoiface.Methods{
  1318  		NoUnkeyedLiterals: struct{}{},
  1319  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  1320  		Size:              size,
  1321  		Marshal:           marshal,
  1322  		Unmarshal:         unmarshal,
  1323  		Merge:             nil,
  1324  		CheckInitialized:  nil,
  1325  	}
  1326  }
  1327  
  1328  var (
  1329  	md_Nested4A      protoreflect.MessageDescriptor
  1330  	fd_Nested4A_id   protoreflect.FieldDescriptor
  1331  	fd_Nested4A_name protoreflect.FieldDescriptor
  1332  )
  1333  
  1334  func init() {
  1335  	file_testpb_unknonwnproto_proto_init()
  1336  	md_Nested4A = File_testpb_unknonwnproto_proto.Messages().ByName("Nested4A")
  1337  	fd_Nested4A_id = md_Nested4A.Fields().ByName("id")
  1338  	fd_Nested4A_name = md_Nested4A.Fields().ByName("name")
  1339  }
  1340  
  1341  var _ protoreflect.Message = (*fastReflection_Nested4A)(nil)
  1342  
  1343  type fastReflection_Nested4A Nested4A
  1344  
  1345  func (x *Nested4A) ProtoReflect() protoreflect.Message {
  1346  	return (*fastReflection_Nested4A)(x)
  1347  }
  1348  
  1349  func (x *Nested4A) slowProtoReflect() protoreflect.Message {
  1350  	mi := &file_testpb_unknonwnproto_proto_msgTypes[2]
  1351  	if protoimpl.UnsafeEnabled && x != nil {
  1352  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1353  		if ms.LoadMessageInfo() == nil {
  1354  			ms.StoreMessageInfo(mi)
  1355  		}
  1356  		return ms
  1357  	}
  1358  	return mi.MessageOf(x)
  1359  }
  1360  
  1361  var _fastReflection_Nested4A_messageType fastReflection_Nested4A_messageType
  1362  var _ protoreflect.MessageType = fastReflection_Nested4A_messageType{}
  1363  
  1364  type fastReflection_Nested4A_messageType struct{}
  1365  
  1366  func (x fastReflection_Nested4A_messageType) Zero() protoreflect.Message {
  1367  	return (*fastReflection_Nested4A)(nil)
  1368  }
  1369  func (x fastReflection_Nested4A_messageType) New() protoreflect.Message {
  1370  	return new(fastReflection_Nested4A)
  1371  }
  1372  func (x fastReflection_Nested4A_messageType) Descriptor() protoreflect.MessageDescriptor {
  1373  	return md_Nested4A
  1374  }
  1375  
  1376  // Descriptor returns message descriptor, which contains only the protobuf
  1377  // type information for the message.
  1378  func (x *fastReflection_Nested4A) Descriptor() protoreflect.MessageDescriptor {
  1379  	return md_Nested4A
  1380  }
  1381  
  1382  // Type returns the message type, which encapsulates both Go and protobuf
  1383  // type information. If the Go type information is not needed,
  1384  // it is recommended that the message descriptor be used instead.
  1385  func (x *fastReflection_Nested4A) Type() protoreflect.MessageType {
  1386  	return _fastReflection_Nested4A_messageType
  1387  }
  1388  
  1389  // New returns a newly allocated and mutable empty message.
  1390  func (x *fastReflection_Nested4A) New() protoreflect.Message {
  1391  	return new(fastReflection_Nested4A)
  1392  }
  1393  
  1394  // Interface unwraps the message reflection interface and
  1395  // returns the underlying ProtoMessage interface.
  1396  func (x *fastReflection_Nested4A) Interface() protoreflect.ProtoMessage {
  1397  	return (*Nested4A)(x)
  1398  }
  1399  
  1400  // Range iterates over every populated field in an undefined order,
  1401  // calling f for each field descriptor and value encountered.
  1402  // Range returns immediately if f returns false.
  1403  // While iterating, mutating operations may only be performed
  1404  // on the current field descriptor.
  1405  func (x *fastReflection_Nested4A) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  1406  	if x.Id != int32(0) {
  1407  		value := protoreflect.ValueOfInt32(x.Id)
  1408  		if !f(fd_Nested4A_id, value) {
  1409  			return
  1410  		}
  1411  	}
  1412  	if x.Name != "" {
  1413  		value := protoreflect.ValueOfString(x.Name)
  1414  		if !f(fd_Nested4A_name, value) {
  1415  			return
  1416  		}
  1417  	}
  1418  }
  1419  
  1420  // Has reports whether a field is populated.
  1421  //
  1422  // Some fields have the property of nullability where it is possible to
  1423  // distinguish between the default value of a field and whether the field
  1424  // was explicitly populated with the default value. Singular message fields,
  1425  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  1426  // fields are populated only if explicitly set.
  1427  //
  1428  // In other cases (aside from the nullable cases above),
  1429  // a proto3 scalar field is populated if it contains a non-zero value, and
  1430  // a repeated field is populated if it is non-empty.
  1431  func (x *fastReflection_Nested4A) Has(fd protoreflect.FieldDescriptor) bool {
  1432  	switch fd.FullName() {
  1433  	case "testpb.Nested4A.id":
  1434  		return x.Id != int32(0)
  1435  	case "testpb.Nested4A.name":
  1436  		return x.Name != ""
  1437  	default:
  1438  		if fd.IsExtension() {
  1439  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1440  		}
  1441  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", fd.FullName()))
  1442  	}
  1443  }
  1444  
  1445  // Clear clears the field such that a subsequent Has call reports false.
  1446  //
  1447  // Clearing an extension field clears both the extension type and value
  1448  // associated with the given field number.
  1449  //
  1450  // Clear is a mutating operation and unsafe for concurrent use.
  1451  func (x *fastReflection_Nested4A) Clear(fd protoreflect.FieldDescriptor) {
  1452  	switch fd.FullName() {
  1453  	case "testpb.Nested4A.id":
  1454  		x.Id = int32(0)
  1455  	case "testpb.Nested4A.name":
  1456  		x.Name = ""
  1457  	default:
  1458  		if fd.IsExtension() {
  1459  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1460  		}
  1461  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", fd.FullName()))
  1462  	}
  1463  }
  1464  
  1465  // Get retrieves the value for a field.
  1466  //
  1467  // For unpopulated scalars, it returns the default value, where
  1468  // the default value of a bytes scalar is guaranteed to be a copy.
  1469  // For unpopulated composite types, it returns an empty, read-only view
  1470  // of the value; to obtain a mutable reference, use Mutable.
  1471  func (x *fastReflection_Nested4A) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  1472  	switch descriptor.FullName() {
  1473  	case "testpb.Nested4A.id":
  1474  		value := x.Id
  1475  		return protoreflect.ValueOfInt32(value)
  1476  	case "testpb.Nested4A.name":
  1477  		value := x.Name
  1478  		return protoreflect.ValueOfString(value)
  1479  	default:
  1480  		if descriptor.IsExtension() {
  1481  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1482  		}
  1483  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", descriptor.FullName()))
  1484  	}
  1485  }
  1486  
  1487  // Set stores the value for a field.
  1488  //
  1489  // For a field belonging to a oneof, it implicitly clears any other field
  1490  // that may be currently set within the same oneof.
  1491  // For extension fields, it implicitly stores the provided ExtensionType.
  1492  // When setting a composite type, it is unspecified whether the stored value
  1493  // aliases the source's memory in any way. If the composite value is an
  1494  // empty, read-only value, then it panics.
  1495  //
  1496  // Set is a mutating operation and unsafe for concurrent use.
  1497  func (x *fastReflection_Nested4A) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  1498  	switch fd.FullName() {
  1499  	case "testpb.Nested4A.id":
  1500  		x.Id = int32(value.Int())
  1501  	case "testpb.Nested4A.name":
  1502  		x.Name = value.Interface().(string)
  1503  	default:
  1504  		if fd.IsExtension() {
  1505  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1506  		}
  1507  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", fd.FullName()))
  1508  	}
  1509  }
  1510  
  1511  // Mutable returns a mutable reference to a composite type.
  1512  //
  1513  // If the field is unpopulated, it may allocate a composite value.
  1514  // For a field belonging to a oneof, it implicitly clears any other field
  1515  // that may be currently set within the same oneof.
  1516  // For extension fields, it implicitly stores the provided ExtensionType
  1517  // if not already stored.
  1518  // It panics if the field does not contain a composite type.
  1519  //
  1520  // Mutable is a mutating operation and unsafe for concurrent use.
  1521  func (x *fastReflection_Nested4A) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  1522  	switch fd.FullName() {
  1523  	case "testpb.Nested4A.id":
  1524  		panic(fmt.Errorf("field id of message testpb.Nested4A is not mutable"))
  1525  	case "testpb.Nested4A.name":
  1526  		panic(fmt.Errorf("field name of message testpb.Nested4A is not mutable"))
  1527  	default:
  1528  		if fd.IsExtension() {
  1529  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1530  		}
  1531  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", fd.FullName()))
  1532  	}
  1533  }
  1534  
  1535  // NewField returns a new value that is assignable to the field
  1536  // for the given descriptor. For scalars, this returns the default value.
  1537  // For lists, maps, and messages, this returns a new, empty, mutable value.
  1538  func (x *fastReflection_Nested4A) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  1539  	switch fd.FullName() {
  1540  	case "testpb.Nested4A.id":
  1541  		return protoreflect.ValueOfInt32(int32(0))
  1542  	case "testpb.Nested4A.name":
  1543  		return protoreflect.ValueOfString("")
  1544  	default:
  1545  		if fd.IsExtension() {
  1546  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4A"))
  1547  		}
  1548  		panic(fmt.Errorf("message testpb.Nested4A does not contain field %s", fd.FullName()))
  1549  	}
  1550  }
  1551  
  1552  // WhichOneof reports which field within the oneof is populated,
  1553  // returning nil if none are populated.
  1554  // It panics if the oneof descriptor does not belong to this message.
  1555  func (x *fastReflection_Nested4A) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  1556  	switch d.FullName() {
  1557  	default:
  1558  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested4A", d.FullName()))
  1559  	}
  1560  	panic("unreachable")
  1561  }
  1562  
  1563  // GetUnknown retrieves the entire list of unknown fields.
  1564  // The caller may only mutate the contents of the RawFields
  1565  // if the mutated bytes are stored back into the message with SetUnknown.
  1566  func (x *fastReflection_Nested4A) GetUnknown() protoreflect.RawFields {
  1567  	return x.unknownFields
  1568  }
  1569  
  1570  // SetUnknown stores an entire list of unknown fields.
  1571  // The raw fields must be syntactically valid according to the wire format.
  1572  // An implementation may panic if this is not the case.
  1573  // Once stored, the caller must not mutate the content of the RawFields.
  1574  // An empty RawFields may be passed to clear the fields.
  1575  //
  1576  // SetUnknown is a mutating operation and unsafe for concurrent use.
  1577  func (x *fastReflection_Nested4A) SetUnknown(fields protoreflect.RawFields) {
  1578  	x.unknownFields = fields
  1579  }
  1580  
  1581  // IsValid reports whether the message is valid.
  1582  //
  1583  // An invalid message is an empty, read-only value.
  1584  //
  1585  // An invalid message often corresponds to a nil pointer of the concrete
  1586  // message type, but the details are implementation dependent.
  1587  // Validity is not part of the protobuf data model, and may not
  1588  // be preserved in marshaling or other operations.
  1589  func (x *fastReflection_Nested4A) IsValid() bool {
  1590  	return x != nil
  1591  }
  1592  
  1593  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  1594  // This method may return nil.
  1595  //
  1596  // The returned methods type is identical to
  1597  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  1598  // Consult the protoiface package documentation for details.
  1599  func (x *fastReflection_Nested4A) ProtoMethods() *protoiface.Methods {
  1600  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  1601  		x := input.Message.Interface().(*Nested4A)
  1602  		if x == nil {
  1603  			return protoiface.SizeOutput{
  1604  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1605  				Size:              0,
  1606  			}
  1607  		}
  1608  		options := runtime.SizeInputToOptions(input)
  1609  		_ = options
  1610  		var n int
  1611  		var l int
  1612  		_ = l
  1613  		if x.Id != 0 {
  1614  			n += 1 + runtime.Sov(uint64(x.Id))
  1615  		}
  1616  		l = len(x.Name)
  1617  		if l > 0 {
  1618  			n += 1 + l + runtime.Sov(uint64(l))
  1619  		}
  1620  		if x.unknownFields != nil {
  1621  			n += len(x.unknownFields)
  1622  		}
  1623  		return protoiface.SizeOutput{
  1624  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1625  			Size:              n,
  1626  		}
  1627  	}
  1628  
  1629  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  1630  		x := input.Message.Interface().(*Nested4A)
  1631  		if x == nil {
  1632  			return protoiface.MarshalOutput{
  1633  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1634  				Buf:               input.Buf,
  1635  			}, nil
  1636  		}
  1637  		options := runtime.MarshalInputToOptions(input)
  1638  		_ = options
  1639  		size := options.Size(x)
  1640  		dAtA := make([]byte, size)
  1641  		i := len(dAtA)
  1642  		_ = i
  1643  		var l int
  1644  		_ = l
  1645  		if x.unknownFields != nil {
  1646  			i -= len(x.unknownFields)
  1647  			copy(dAtA[i:], x.unknownFields)
  1648  		}
  1649  		if len(x.Name) > 0 {
  1650  			i -= len(x.Name)
  1651  			copy(dAtA[i:], x.Name)
  1652  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  1653  			i--
  1654  			dAtA[i] = 0x12
  1655  		}
  1656  		if x.Id != 0 {
  1657  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  1658  			i--
  1659  			dAtA[i] = 0x8
  1660  		}
  1661  		if input.Buf != nil {
  1662  			input.Buf = append(input.Buf, dAtA...)
  1663  		} else {
  1664  			input.Buf = dAtA
  1665  		}
  1666  		return protoiface.MarshalOutput{
  1667  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1668  			Buf:               input.Buf,
  1669  		}, nil
  1670  	}
  1671  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  1672  		x := input.Message.Interface().(*Nested4A)
  1673  		if x == nil {
  1674  			return protoiface.UnmarshalOutput{
  1675  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  1676  				Flags:             input.Flags,
  1677  			}, nil
  1678  		}
  1679  		options := runtime.UnmarshalInputToOptions(input)
  1680  		_ = options
  1681  		dAtA := input.Buf
  1682  		l := len(dAtA)
  1683  		iNdEx := 0
  1684  		for iNdEx < l {
  1685  			preIndex := iNdEx
  1686  			var wire uint64
  1687  			for shift := uint(0); ; shift += 7 {
  1688  				if shift >= 64 {
  1689  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1690  				}
  1691  				if iNdEx >= l {
  1692  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1693  				}
  1694  				b := dAtA[iNdEx]
  1695  				iNdEx++
  1696  				wire |= uint64(b&0x7F) << shift
  1697  				if b < 0x80 {
  1698  					break
  1699  				}
  1700  			}
  1701  			fieldNum := int32(wire >> 3)
  1702  			wireType := int(wire & 0x7)
  1703  			if wireType == 4 {
  1704  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested4A: wiretype end group for non-group")
  1705  			}
  1706  			if fieldNum <= 0 {
  1707  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested4A: illegal tag %d (wire type %d)", fieldNum, wire)
  1708  			}
  1709  			switch fieldNum {
  1710  			case 1:
  1711  				if wireType != 0 {
  1712  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  1713  				}
  1714  				x.Id = 0
  1715  				for shift := uint(0); ; shift += 7 {
  1716  					if shift >= 64 {
  1717  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1718  					}
  1719  					if iNdEx >= l {
  1720  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1721  					}
  1722  					b := dAtA[iNdEx]
  1723  					iNdEx++
  1724  					x.Id |= int32(b&0x7F) << shift
  1725  					if b < 0x80 {
  1726  						break
  1727  					}
  1728  				}
  1729  			case 2:
  1730  				if wireType != 2 {
  1731  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1732  				}
  1733  				var stringLen uint64
  1734  				for shift := uint(0); ; shift += 7 {
  1735  					if shift >= 64 {
  1736  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  1737  					}
  1738  					if iNdEx >= l {
  1739  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1740  					}
  1741  					b := dAtA[iNdEx]
  1742  					iNdEx++
  1743  					stringLen |= uint64(b&0x7F) << shift
  1744  					if b < 0x80 {
  1745  						break
  1746  					}
  1747  				}
  1748  				intStringLen := int(stringLen)
  1749  				if intStringLen < 0 {
  1750  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1751  				}
  1752  				postIndex := iNdEx + intStringLen
  1753  				if postIndex < 0 {
  1754  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1755  				}
  1756  				if postIndex > l {
  1757  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1758  				}
  1759  				x.Name = string(dAtA[iNdEx:postIndex])
  1760  				iNdEx = postIndex
  1761  			default:
  1762  				iNdEx = preIndex
  1763  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  1764  				if err != nil {
  1765  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  1766  				}
  1767  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  1768  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  1769  				}
  1770  				if (iNdEx + skippy) > l {
  1771  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1772  				}
  1773  				if !options.DiscardUnknown {
  1774  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  1775  				}
  1776  				iNdEx += skippy
  1777  			}
  1778  		}
  1779  
  1780  		if iNdEx > l {
  1781  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  1782  		}
  1783  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  1784  	}
  1785  	return &protoiface.Methods{
  1786  		NoUnkeyedLiterals: struct{}{},
  1787  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  1788  		Size:              size,
  1789  		Marshal:           marshal,
  1790  		Unmarshal:         unmarshal,
  1791  		Merge:             nil,
  1792  		CheckInitialized:  nil,
  1793  	}
  1794  }
  1795  
  1796  var _ protoreflect.List = (*_Nested3A_4_list)(nil)
  1797  
  1798  type _Nested3A_4_list struct {
  1799  	list *[]*Nested4A
  1800  }
  1801  
  1802  func (x *_Nested3A_4_list) Len() int {
  1803  	if x.list == nil {
  1804  		return 0
  1805  	}
  1806  	return len(*x.list)
  1807  }
  1808  
  1809  func (x *_Nested3A_4_list) Get(i int) protoreflect.Value {
  1810  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  1811  }
  1812  
  1813  func (x *_Nested3A_4_list) Set(i int, value protoreflect.Value) {
  1814  	valueUnwrapped := value.Message()
  1815  	concreteValue := valueUnwrapped.Interface().(*Nested4A)
  1816  	(*x.list)[i] = concreteValue
  1817  }
  1818  
  1819  func (x *_Nested3A_4_list) Append(value protoreflect.Value) {
  1820  	valueUnwrapped := value.Message()
  1821  	concreteValue := valueUnwrapped.Interface().(*Nested4A)
  1822  	*x.list = append(*x.list, concreteValue)
  1823  }
  1824  
  1825  func (x *_Nested3A_4_list) AppendMutable() protoreflect.Value {
  1826  	v := new(Nested4A)
  1827  	*x.list = append(*x.list, v)
  1828  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  1829  }
  1830  
  1831  func (x *_Nested3A_4_list) Truncate(n int) {
  1832  	for i := n; i < len(*x.list); i++ {
  1833  		(*x.list)[i] = nil
  1834  	}
  1835  	*x.list = (*x.list)[:n]
  1836  }
  1837  
  1838  func (x *_Nested3A_4_list) NewElement() protoreflect.Value {
  1839  	v := new(Nested4A)
  1840  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  1841  }
  1842  
  1843  func (x *_Nested3A_4_list) IsValid() bool {
  1844  	return x.list != nil
  1845  }
  1846  
  1847  var _ protoreflect.Map = (*_Nested3A_5_map)(nil)
  1848  
  1849  type _Nested3A_5_map struct {
  1850  	m *map[int64]*Nested4A
  1851  }
  1852  
  1853  func (x *_Nested3A_5_map) Len() int {
  1854  	if x.m == nil {
  1855  		return 0
  1856  	}
  1857  	return len(*x.m)
  1858  }
  1859  
  1860  func (x *_Nested3A_5_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1861  	if x.m == nil {
  1862  		return
  1863  	}
  1864  	for k, v := range *x.m {
  1865  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt64(k))
  1866  		mapValue := protoreflect.ValueOfMessage(v.ProtoReflect())
  1867  		if !f(mapKey, mapValue) {
  1868  			break
  1869  		}
  1870  	}
  1871  }
  1872  
  1873  func (x *_Nested3A_5_map) Has(key protoreflect.MapKey) bool {
  1874  	if x.m == nil {
  1875  		return false
  1876  	}
  1877  	keyUnwrapped := key.Int()
  1878  	concreteValue := keyUnwrapped
  1879  	_, ok := (*x.m)[concreteValue]
  1880  	return ok
  1881  }
  1882  
  1883  func (x *_Nested3A_5_map) Clear(key protoreflect.MapKey) {
  1884  	if x.m == nil {
  1885  		return
  1886  	}
  1887  	keyUnwrapped := key.Int()
  1888  	concreteKey := keyUnwrapped
  1889  	delete(*x.m, concreteKey)
  1890  }
  1891  
  1892  func (x *_Nested3A_5_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1893  	if x.m == nil {
  1894  		return protoreflect.Value{}
  1895  	}
  1896  	keyUnwrapped := key.Int()
  1897  	concreteKey := keyUnwrapped
  1898  	v, ok := (*x.m)[concreteKey]
  1899  	if !ok {
  1900  		return protoreflect.Value{}
  1901  	}
  1902  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  1903  }
  1904  
  1905  func (x *_Nested3A_5_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1906  	if !key.IsValid() || !value.IsValid() {
  1907  		panic("invalid key or value provided")
  1908  	}
  1909  	keyUnwrapped := key.Int()
  1910  	concreteKey := keyUnwrapped
  1911  	valueUnwrapped := value.Message()
  1912  	concreteValue := valueUnwrapped.Interface().(*Nested4A)
  1913  	(*x.m)[concreteKey] = concreteValue
  1914  }
  1915  
  1916  func (x *_Nested3A_5_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1917  	keyUnwrapped := key.Int()
  1918  	concreteKey := keyUnwrapped
  1919  	v, ok := (*x.m)[concreteKey]
  1920  	if ok {
  1921  		return protoreflect.ValueOfMessage(v.ProtoReflect())
  1922  	}
  1923  	newValue := new(Nested4A)
  1924  	(*x.m)[concreteKey] = newValue
  1925  	return protoreflect.ValueOfMessage(newValue.ProtoReflect())
  1926  }
  1927  
  1928  func (x *_Nested3A_5_map) NewValue() protoreflect.Value {
  1929  	v := new(Nested4A)
  1930  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  1931  }
  1932  
  1933  func (x *_Nested3A_5_map) IsValid() bool {
  1934  	return x.m != nil
  1935  }
  1936  
  1937  var (
  1938  	md_Nested3A       protoreflect.MessageDescriptor
  1939  	fd_Nested3A_id    protoreflect.FieldDescriptor
  1940  	fd_Nested3A_name  protoreflect.FieldDescriptor
  1941  	fd_Nested3A_a4    protoreflect.FieldDescriptor
  1942  	fd_Nested3A_index protoreflect.FieldDescriptor
  1943  )
  1944  
  1945  func init() {
  1946  	file_testpb_unknonwnproto_proto_init()
  1947  	md_Nested3A = File_testpb_unknonwnproto_proto.Messages().ByName("Nested3A")
  1948  	fd_Nested3A_id = md_Nested3A.Fields().ByName("id")
  1949  	fd_Nested3A_name = md_Nested3A.Fields().ByName("name")
  1950  	fd_Nested3A_a4 = md_Nested3A.Fields().ByName("a4")
  1951  	fd_Nested3A_index = md_Nested3A.Fields().ByName("index")
  1952  }
  1953  
  1954  var _ protoreflect.Message = (*fastReflection_Nested3A)(nil)
  1955  
  1956  type fastReflection_Nested3A Nested3A
  1957  
  1958  func (x *Nested3A) ProtoReflect() protoreflect.Message {
  1959  	return (*fastReflection_Nested3A)(x)
  1960  }
  1961  
  1962  func (x *Nested3A) slowProtoReflect() protoreflect.Message {
  1963  	mi := &file_testpb_unknonwnproto_proto_msgTypes[3]
  1964  	if protoimpl.UnsafeEnabled && x != nil {
  1965  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1966  		if ms.LoadMessageInfo() == nil {
  1967  			ms.StoreMessageInfo(mi)
  1968  		}
  1969  		return ms
  1970  	}
  1971  	return mi.MessageOf(x)
  1972  }
  1973  
  1974  var _fastReflection_Nested3A_messageType fastReflection_Nested3A_messageType
  1975  var _ protoreflect.MessageType = fastReflection_Nested3A_messageType{}
  1976  
  1977  type fastReflection_Nested3A_messageType struct{}
  1978  
  1979  func (x fastReflection_Nested3A_messageType) Zero() protoreflect.Message {
  1980  	return (*fastReflection_Nested3A)(nil)
  1981  }
  1982  func (x fastReflection_Nested3A_messageType) New() protoreflect.Message {
  1983  	return new(fastReflection_Nested3A)
  1984  }
  1985  func (x fastReflection_Nested3A_messageType) Descriptor() protoreflect.MessageDescriptor {
  1986  	return md_Nested3A
  1987  }
  1988  
  1989  // Descriptor returns message descriptor, which contains only the protobuf
  1990  // type information for the message.
  1991  func (x *fastReflection_Nested3A) Descriptor() protoreflect.MessageDescriptor {
  1992  	return md_Nested3A
  1993  }
  1994  
  1995  // Type returns the message type, which encapsulates both Go and protobuf
  1996  // type information. If the Go type information is not needed,
  1997  // it is recommended that the message descriptor be used instead.
  1998  func (x *fastReflection_Nested3A) Type() protoreflect.MessageType {
  1999  	return _fastReflection_Nested3A_messageType
  2000  }
  2001  
  2002  // New returns a newly allocated and mutable empty message.
  2003  func (x *fastReflection_Nested3A) New() protoreflect.Message {
  2004  	return new(fastReflection_Nested3A)
  2005  }
  2006  
  2007  // Interface unwraps the message reflection interface and
  2008  // returns the underlying ProtoMessage interface.
  2009  func (x *fastReflection_Nested3A) Interface() protoreflect.ProtoMessage {
  2010  	return (*Nested3A)(x)
  2011  }
  2012  
  2013  // Range iterates over every populated field in an undefined order,
  2014  // calling f for each field descriptor and value encountered.
  2015  // Range returns immediately if f returns false.
  2016  // While iterating, mutating operations may only be performed
  2017  // on the current field descriptor.
  2018  func (x *fastReflection_Nested3A) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  2019  	if x.Id != int32(0) {
  2020  		value := protoreflect.ValueOfInt32(x.Id)
  2021  		if !f(fd_Nested3A_id, value) {
  2022  			return
  2023  		}
  2024  	}
  2025  	if x.Name != "" {
  2026  		value := protoreflect.ValueOfString(x.Name)
  2027  		if !f(fd_Nested3A_name, value) {
  2028  			return
  2029  		}
  2030  	}
  2031  	if len(x.A4) != 0 {
  2032  		value := protoreflect.ValueOfList(&_Nested3A_4_list{list: &x.A4})
  2033  		if !f(fd_Nested3A_a4, value) {
  2034  			return
  2035  		}
  2036  	}
  2037  	if len(x.Index) != 0 {
  2038  		value := protoreflect.ValueOfMap(&_Nested3A_5_map{m: &x.Index})
  2039  		if !f(fd_Nested3A_index, value) {
  2040  			return
  2041  		}
  2042  	}
  2043  }
  2044  
  2045  // Has reports whether a field is populated.
  2046  //
  2047  // Some fields have the property of nullability where it is possible to
  2048  // distinguish between the default value of a field and whether the field
  2049  // was explicitly populated with the default value. Singular message fields,
  2050  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  2051  // fields are populated only if explicitly set.
  2052  //
  2053  // In other cases (aside from the nullable cases above),
  2054  // a proto3 scalar field is populated if it contains a non-zero value, and
  2055  // a repeated field is populated if it is non-empty.
  2056  func (x *fastReflection_Nested3A) Has(fd protoreflect.FieldDescriptor) bool {
  2057  	switch fd.FullName() {
  2058  	case "testpb.Nested3A.id":
  2059  		return x.Id != int32(0)
  2060  	case "testpb.Nested3A.name":
  2061  		return x.Name != ""
  2062  	case "testpb.Nested3A.a4":
  2063  		return len(x.A4) != 0
  2064  	case "testpb.Nested3A.index":
  2065  		return len(x.Index) != 0
  2066  	default:
  2067  		if fd.IsExtension() {
  2068  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2069  		}
  2070  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", fd.FullName()))
  2071  	}
  2072  }
  2073  
  2074  // Clear clears the field such that a subsequent Has call reports false.
  2075  //
  2076  // Clearing an extension field clears both the extension type and value
  2077  // associated with the given field number.
  2078  //
  2079  // Clear is a mutating operation and unsafe for concurrent use.
  2080  func (x *fastReflection_Nested3A) Clear(fd protoreflect.FieldDescriptor) {
  2081  	switch fd.FullName() {
  2082  	case "testpb.Nested3A.id":
  2083  		x.Id = int32(0)
  2084  	case "testpb.Nested3A.name":
  2085  		x.Name = ""
  2086  	case "testpb.Nested3A.a4":
  2087  		x.A4 = nil
  2088  	case "testpb.Nested3A.index":
  2089  		x.Index = nil
  2090  	default:
  2091  		if fd.IsExtension() {
  2092  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2093  		}
  2094  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", fd.FullName()))
  2095  	}
  2096  }
  2097  
  2098  // Get retrieves the value for a field.
  2099  //
  2100  // For unpopulated scalars, it returns the default value, where
  2101  // the default value of a bytes scalar is guaranteed to be a copy.
  2102  // For unpopulated composite types, it returns an empty, read-only view
  2103  // of the value; to obtain a mutable reference, use Mutable.
  2104  func (x *fastReflection_Nested3A) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  2105  	switch descriptor.FullName() {
  2106  	case "testpb.Nested3A.id":
  2107  		value := x.Id
  2108  		return protoreflect.ValueOfInt32(value)
  2109  	case "testpb.Nested3A.name":
  2110  		value := x.Name
  2111  		return protoreflect.ValueOfString(value)
  2112  	case "testpb.Nested3A.a4":
  2113  		if len(x.A4) == 0 {
  2114  			return protoreflect.ValueOfList(&_Nested3A_4_list{})
  2115  		}
  2116  		listValue := &_Nested3A_4_list{list: &x.A4}
  2117  		return protoreflect.ValueOfList(listValue)
  2118  	case "testpb.Nested3A.index":
  2119  		if len(x.Index) == 0 {
  2120  			return protoreflect.ValueOfMap(&_Nested3A_5_map{})
  2121  		}
  2122  		mapValue := &_Nested3A_5_map{m: &x.Index}
  2123  		return protoreflect.ValueOfMap(mapValue)
  2124  	default:
  2125  		if descriptor.IsExtension() {
  2126  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2127  		}
  2128  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", descriptor.FullName()))
  2129  	}
  2130  }
  2131  
  2132  // Set stores the value for a field.
  2133  //
  2134  // For a field belonging to a oneof, it implicitly clears any other field
  2135  // that may be currently set within the same oneof.
  2136  // For extension fields, it implicitly stores the provided ExtensionType.
  2137  // When setting a composite type, it is unspecified whether the stored value
  2138  // aliases the source's memory in any way. If the composite value is an
  2139  // empty, read-only value, then it panics.
  2140  //
  2141  // Set is a mutating operation and unsafe for concurrent use.
  2142  func (x *fastReflection_Nested3A) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  2143  	switch fd.FullName() {
  2144  	case "testpb.Nested3A.id":
  2145  		x.Id = int32(value.Int())
  2146  	case "testpb.Nested3A.name":
  2147  		x.Name = value.Interface().(string)
  2148  	case "testpb.Nested3A.a4":
  2149  		lv := value.List()
  2150  		clv := lv.(*_Nested3A_4_list)
  2151  		x.A4 = *clv.list
  2152  	case "testpb.Nested3A.index":
  2153  		mv := value.Map()
  2154  		cmv := mv.(*_Nested3A_5_map)
  2155  		x.Index = *cmv.m
  2156  	default:
  2157  		if fd.IsExtension() {
  2158  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2159  		}
  2160  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", fd.FullName()))
  2161  	}
  2162  }
  2163  
  2164  // Mutable returns a mutable reference to a composite type.
  2165  //
  2166  // If the field is unpopulated, it may allocate a composite value.
  2167  // For a field belonging to a oneof, it implicitly clears any other field
  2168  // that may be currently set within the same oneof.
  2169  // For extension fields, it implicitly stores the provided ExtensionType
  2170  // if not already stored.
  2171  // It panics if the field does not contain a composite type.
  2172  //
  2173  // Mutable is a mutating operation and unsafe for concurrent use.
  2174  func (x *fastReflection_Nested3A) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  2175  	switch fd.FullName() {
  2176  	case "testpb.Nested3A.a4":
  2177  		if x.A4 == nil {
  2178  			x.A4 = []*Nested4A{}
  2179  		}
  2180  		value := &_Nested3A_4_list{list: &x.A4}
  2181  		return protoreflect.ValueOfList(value)
  2182  	case "testpb.Nested3A.index":
  2183  		if x.Index == nil {
  2184  			x.Index = make(map[int64]*Nested4A)
  2185  		}
  2186  		value := &_Nested3A_5_map{m: &x.Index}
  2187  		return protoreflect.ValueOfMap(value)
  2188  	case "testpb.Nested3A.id":
  2189  		panic(fmt.Errorf("field id of message testpb.Nested3A is not mutable"))
  2190  	case "testpb.Nested3A.name":
  2191  		panic(fmt.Errorf("field name of message testpb.Nested3A is not mutable"))
  2192  	default:
  2193  		if fd.IsExtension() {
  2194  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2195  		}
  2196  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", fd.FullName()))
  2197  	}
  2198  }
  2199  
  2200  // NewField returns a new value that is assignable to the field
  2201  // for the given descriptor. For scalars, this returns the default value.
  2202  // For lists, maps, and messages, this returns a new, empty, mutable value.
  2203  func (x *fastReflection_Nested3A) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  2204  	switch fd.FullName() {
  2205  	case "testpb.Nested3A.id":
  2206  		return protoreflect.ValueOfInt32(int32(0))
  2207  	case "testpb.Nested3A.name":
  2208  		return protoreflect.ValueOfString("")
  2209  	case "testpb.Nested3A.a4":
  2210  		list := []*Nested4A{}
  2211  		return protoreflect.ValueOfList(&_Nested3A_4_list{list: &list})
  2212  	case "testpb.Nested3A.index":
  2213  		m := make(map[int64]*Nested4A)
  2214  		return protoreflect.ValueOfMap(&_Nested3A_5_map{m: &m})
  2215  	default:
  2216  		if fd.IsExtension() {
  2217  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3A"))
  2218  		}
  2219  		panic(fmt.Errorf("message testpb.Nested3A does not contain field %s", fd.FullName()))
  2220  	}
  2221  }
  2222  
  2223  // WhichOneof reports which field within the oneof is populated,
  2224  // returning nil if none are populated.
  2225  // It panics if the oneof descriptor does not belong to this message.
  2226  func (x *fastReflection_Nested3A) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  2227  	switch d.FullName() {
  2228  	default:
  2229  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested3A", d.FullName()))
  2230  	}
  2231  	panic("unreachable")
  2232  }
  2233  
  2234  // GetUnknown retrieves the entire list of unknown fields.
  2235  // The caller may only mutate the contents of the RawFields
  2236  // if the mutated bytes are stored back into the message with SetUnknown.
  2237  func (x *fastReflection_Nested3A) GetUnknown() protoreflect.RawFields {
  2238  	return x.unknownFields
  2239  }
  2240  
  2241  // SetUnknown stores an entire list of unknown fields.
  2242  // The raw fields must be syntactically valid according to the wire format.
  2243  // An implementation may panic if this is not the case.
  2244  // Once stored, the caller must not mutate the content of the RawFields.
  2245  // An empty RawFields may be passed to clear the fields.
  2246  //
  2247  // SetUnknown is a mutating operation and unsafe for concurrent use.
  2248  func (x *fastReflection_Nested3A) SetUnknown(fields protoreflect.RawFields) {
  2249  	x.unknownFields = fields
  2250  }
  2251  
  2252  // IsValid reports whether the message is valid.
  2253  //
  2254  // An invalid message is an empty, read-only value.
  2255  //
  2256  // An invalid message often corresponds to a nil pointer of the concrete
  2257  // message type, but the details are implementation dependent.
  2258  // Validity is not part of the protobuf data model, and may not
  2259  // be preserved in marshaling or other operations.
  2260  func (x *fastReflection_Nested3A) IsValid() bool {
  2261  	return x != nil
  2262  }
  2263  
  2264  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  2265  // This method may return nil.
  2266  //
  2267  // The returned methods type is identical to
  2268  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  2269  // Consult the protoiface package documentation for details.
  2270  func (x *fastReflection_Nested3A) ProtoMethods() *protoiface.Methods {
  2271  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  2272  		x := input.Message.Interface().(*Nested3A)
  2273  		if x == nil {
  2274  			return protoiface.SizeOutput{
  2275  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2276  				Size:              0,
  2277  			}
  2278  		}
  2279  		options := runtime.SizeInputToOptions(input)
  2280  		_ = options
  2281  		var n int
  2282  		var l int
  2283  		_ = l
  2284  		if x.Id != 0 {
  2285  			n += 1 + runtime.Sov(uint64(x.Id))
  2286  		}
  2287  		l = len(x.Name)
  2288  		if l > 0 {
  2289  			n += 1 + l + runtime.Sov(uint64(l))
  2290  		}
  2291  		if len(x.A4) > 0 {
  2292  			for _, e := range x.A4 {
  2293  				l = options.Size(e)
  2294  				n += 1 + l + runtime.Sov(uint64(l))
  2295  			}
  2296  		}
  2297  		if len(x.Index) > 0 {
  2298  			SiZeMaP := func(k int64, v *Nested4A) {
  2299  				l := 0
  2300  				if v != nil {
  2301  					l = options.Size(v)
  2302  				}
  2303  				l += 1 + runtime.Sov(uint64(l))
  2304  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + l
  2305  				n += mapEntrySize + 1 + runtime.Sov(uint64(mapEntrySize))
  2306  			}
  2307  			if options.Deterministic {
  2308  				sortme := make([]int64, 0, len(x.Index))
  2309  				for k := range x.Index {
  2310  					sortme = append(sortme, k)
  2311  				}
  2312  				sort.Slice(sortme, func(i, j int) bool {
  2313  					return sortme[i] < sortme[j]
  2314  				})
  2315  				for _, k := range sortme {
  2316  					v := x.Index[k]
  2317  					SiZeMaP(k, v)
  2318  				}
  2319  			} else {
  2320  				for k, v := range x.Index {
  2321  					SiZeMaP(k, v)
  2322  				}
  2323  			}
  2324  		}
  2325  		if x.unknownFields != nil {
  2326  			n += len(x.unknownFields)
  2327  		}
  2328  		return protoiface.SizeOutput{
  2329  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2330  			Size:              n,
  2331  		}
  2332  	}
  2333  
  2334  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  2335  		x := input.Message.Interface().(*Nested3A)
  2336  		if x == nil {
  2337  			return protoiface.MarshalOutput{
  2338  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2339  				Buf:               input.Buf,
  2340  			}, nil
  2341  		}
  2342  		options := runtime.MarshalInputToOptions(input)
  2343  		_ = options
  2344  		size := options.Size(x)
  2345  		dAtA := make([]byte, size)
  2346  		i := len(dAtA)
  2347  		_ = i
  2348  		var l int
  2349  		_ = l
  2350  		if x.unknownFields != nil {
  2351  			i -= len(x.unknownFields)
  2352  			copy(dAtA[i:], x.unknownFields)
  2353  		}
  2354  		if len(x.Index) > 0 {
  2355  			MaRsHaLmAp := func(k int64, v *Nested4A) (protoiface.MarshalOutput, error) {
  2356  				baseI := i
  2357  				encoded, err := options.Marshal(v)
  2358  				if err != nil {
  2359  					return protoiface.MarshalOutput{
  2360  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2361  						Buf:               input.Buf,
  2362  					}, err
  2363  				}
  2364  				i -= len(encoded)
  2365  				copy(dAtA[i:], encoded)
  2366  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  2367  				i--
  2368  				dAtA[i] = 0x12
  2369  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  2370  				i--
  2371  				dAtA[i] = 0x8
  2372  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  2373  				i--
  2374  				dAtA[i] = 0x2a
  2375  				return protoiface.MarshalOutput{}, nil
  2376  			}
  2377  			if options.Deterministic {
  2378  				keysForIndex := make([]int64, 0, len(x.Index))
  2379  				for k := range x.Index {
  2380  					keysForIndex = append(keysForIndex, int64(k))
  2381  				}
  2382  				sort.Slice(keysForIndex, func(i, j int) bool {
  2383  					return keysForIndex[i] < keysForIndex[j]
  2384  				})
  2385  				for iNdEx := len(keysForIndex) - 1; iNdEx >= 0; iNdEx-- {
  2386  					v := x.Index[int64(keysForIndex[iNdEx])]
  2387  					out, err := MaRsHaLmAp(keysForIndex[iNdEx], v)
  2388  					if err != nil {
  2389  						return out, err
  2390  					}
  2391  				}
  2392  			} else {
  2393  				for k := range x.Index {
  2394  					v := x.Index[k]
  2395  					out, err := MaRsHaLmAp(k, v)
  2396  					if err != nil {
  2397  						return out, err
  2398  					}
  2399  				}
  2400  			}
  2401  		}
  2402  		if len(x.A4) > 0 {
  2403  			for iNdEx := len(x.A4) - 1; iNdEx >= 0; iNdEx-- {
  2404  				encoded, err := options.Marshal(x.A4[iNdEx])
  2405  				if err != nil {
  2406  					return protoiface.MarshalOutput{
  2407  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2408  						Buf:               input.Buf,
  2409  					}, err
  2410  				}
  2411  				i -= len(encoded)
  2412  				copy(dAtA[i:], encoded)
  2413  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  2414  				i--
  2415  				dAtA[i] = 0x22
  2416  			}
  2417  		}
  2418  		if len(x.Name) > 0 {
  2419  			i -= len(x.Name)
  2420  			copy(dAtA[i:], x.Name)
  2421  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  2422  			i--
  2423  			dAtA[i] = 0x12
  2424  		}
  2425  		if x.Id != 0 {
  2426  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  2427  			i--
  2428  			dAtA[i] = 0x8
  2429  		}
  2430  		if input.Buf != nil {
  2431  			input.Buf = append(input.Buf, dAtA...)
  2432  		} else {
  2433  			input.Buf = dAtA
  2434  		}
  2435  		return protoiface.MarshalOutput{
  2436  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2437  			Buf:               input.Buf,
  2438  		}, nil
  2439  	}
  2440  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  2441  		x := input.Message.Interface().(*Nested3A)
  2442  		if x == nil {
  2443  			return protoiface.UnmarshalOutput{
  2444  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  2445  				Flags:             input.Flags,
  2446  			}, nil
  2447  		}
  2448  		options := runtime.UnmarshalInputToOptions(input)
  2449  		_ = options
  2450  		dAtA := input.Buf
  2451  		l := len(dAtA)
  2452  		iNdEx := 0
  2453  		for iNdEx < l {
  2454  			preIndex := iNdEx
  2455  			var wire uint64
  2456  			for shift := uint(0); ; shift += 7 {
  2457  				if shift >= 64 {
  2458  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2459  				}
  2460  				if iNdEx >= l {
  2461  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2462  				}
  2463  				b := dAtA[iNdEx]
  2464  				iNdEx++
  2465  				wire |= uint64(b&0x7F) << shift
  2466  				if b < 0x80 {
  2467  					break
  2468  				}
  2469  			}
  2470  			fieldNum := int32(wire >> 3)
  2471  			wireType := int(wire & 0x7)
  2472  			if wireType == 4 {
  2473  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested3A: wiretype end group for non-group")
  2474  			}
  2475  			if fieldNum <= 0 {
  2476  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested3A: illegal tag %d (wire type %d)", fieldNum, wire)
  2477  			}
  2478  			switch fieldNum {
  2479  			case 1:
  2480  				if wireType != 0 {
  2481  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  2482  				}
  2483  				x.Id = 0
  2484  				for shift := uint(0); ; shift += 7 {
  2485  					if shift >= 64 {
  2486  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2487  					}
  2488  					if iNdEx >= l {
  2489  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2490  					}
  2491  					b := dAtA[iNdEx]
  2492  					iNdEx++
  2493  					x.Id |= int32(b&0x7F) << shift
  2494  					if b < 0x80 {
  2495  						break
  2496  					}
  2497  				}
  2498  			case 2:
  2499  				if wireType != 2 {
  2500  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2501  				}
  2502  				var stringLen uint64
  2503  				for shift := uint(0); ; shift += 7 {
  2504  					if shift >= 64 {
  2505  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2506  					}
  2507  					if iNdEx >= l {
  2508  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2509  					}
  2510  					b := dAtA[iNdEx]
  2511  					iNdEx++
  2512  					stringLen |= uint64(b&0x7F) << shift
  2513  					if b < 0x80 {
  2514  						break
  2515  					}
  2516  				}
  2517  				intStringLen := int(stringLen)
  2518  				if intStringLen < 0 {
  2519  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2520  				}
  2521  				postIndex := iNdEx + intStringLen
  2522  				if postIndex < 0 {
  2523  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2524  				}
  2525  				if postIndex > l {
  2526  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2527  				}
  2528  				x.Name = string(dAtA[iNdEx:postIndex])
  2529  				iNdEx = postIndex
  2530  			case 4:
  2531  				if wireType != 2 {
  2532  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A4", wireType)
  2533  				}
  2534  				var msglen int
  2535  				for shift := uint(0); ; shift += 7 {
  2536  					if shift >= 64 {
  2537  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2538  					}
  2539  					if iNdEx >= l {
  2540  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2541  					}
  2542  					b := dAtA[iNdEx]
  2543  					iNdEx++
  2544  					msglen |= int(b&0x7F) << shift
  2545  					if b < 0x80 {
  2546  						break
  2547  					}
  2548  				}
  2549  				if msglen < 0 {
  2550  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2551  				}
  2552  				postIndex := iNdEx + msglen
  2553  				if postIndex < 0 {
  2554  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2555  				}
  2556  				if postIndex > l {
  2557  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2558  				}
  2559  				x.A4 = append(x.A4, &Nested4A{})
  2560  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A4[len(x.A4)-1]); err != nil {
  2561  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  2562  				}
  2563  				iNdEx = postIndex
  2564  			case 5:
  2565  				if wireType != 2 {
  2566  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  2567  				}
  2568  				var msglen int
  2569  				for shift := uint(0); ; shift += 7 {
  2570  					if shift >= 64 {
  2571  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2572  					}
  2573  					if iNdEx >= l {
  2574  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2575  					}
  2576  					b := dAtA[iNdEx]
  2577  					iNdEx++
  2578  					msglen |= int(b&0x7F) << shift
  2579  					if b < 0x80 {
  2580  						break
  2581  					}
  2582  				}
  2583  				if msglen < 0 {
  2584  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2585  				}
  2586  				postIndex := iNdEx + msglen
  2587  				if postIndex < 0 {
  2588  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2589  				}
  2590  				if postIndex > l {
  2591  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2592  				}
  2593  				if x.Index == nil {
  2594  					x.Index = make(map[int64]*Nested4A)
  2595  				}
  2596  				var mapkey int64
  2597  				var mapvalue *Nested4A
  2598  				for iNdEx < postIndex {
  2599  					entryPreIndex := iNdEx
  2600  					var wire uint64
  2601  					for shift := uint(0); ; shift += 7 {
  2602  						if shift >= 64 {
  2603  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2604  						}
  2605  						if iNdEx >= l {
  2606  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2607  						}
  2608  						b := dAtA[iNdEx]
  2609  						iNdEx++
  2610  						wire |= uint64(b&0x7F) << shift
  2611  						if b < 0x80 {
  2612  							break
  2613  						}
  2614  					}
  2615  					fieldNum := int32(wire >> 3)
  2616  					if fieldNum == 1 {
  2617  						for shift := uint(0); ; shift += 7 {
  2618  							if shift >= 64 {
  2619  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2620  							}
  2621  							if iNdEx >= l {
  2622  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2623  							}
  2624  							b := dAtA[iNdEx]
  2625  							iNdEx++
  2626  							mapkey |= int64(b&0x7F) << shift
  2627  							if b < 0x80 {
  2628  								break
  2629  							}
  2630  						}
  2631  					} else if fieldNum == 2 {
  2632  						var mapmsglen int
  2633  						for shift := uint(0); ; shift += 7 {
  2634  							if shift >= 64 {
  2635  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  2636  							}
  2637  							if iNdEx >= l {
  2638  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2639  							}
  2640  							b := dAtA[iNdEx]
  2641  							iNdEx++
  2642  							mapmsglen |= int(b&0x7F) << shift
  2643  							if b < 0x80 {
  2644  								break
  2645  							}
  2646  						}
  2647  						if mapmsglen < 0 {
  2648  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2649  						}
  2650  						postmsgIndex := iNdEx + mapmsglen
  2651  						if postmsgIndex < 0 {
  2652  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2653  						}
  2654  						if postmsgIndex > l {
  2655  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2656  						}
  2657  						mapvalue = &Nested4A{}
  2658  						if err := options.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil {
  2659  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  2660  						}
  2661  						iNdEx = postmsgIndex
  2662  					} else {
  2663  						iNdEx = entryPreIndex
  2664  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  2665  						if err != nil {
  2666  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  2667  						}
  2668  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  2669  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2670  						}
  2671  						if (iNdEx + skippy) > postIndex {
  2672  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2673  						}
  2674  						iNdEx += skippy
  2675  					}
  2676  				}
  2677  				x.Index[mapkey] = mapvalue
  2678  				iNdEx = postIndex
  2679  			default:
  2680  				iNdEx = preIndex
  2681  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  2682  				if err != nil {
  2683  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  2684  				}
  2685  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  2686  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  2687  				}
  2688  				if (iNdEx + skippy) > l {
  2689  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2690  				}
  2691  				if !options.DiscardUnknown {
  2692  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  2693  				}
  2694  				iNdEx += skippy
  2695  			}
  2696  		}
  2697  
  2698  		if iNdEx > l {
  2699  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  2700  		}
  2701  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  2702  	}
  2703  	return &protoiface.Methods{
  2704  		NoUnkeyedLiterals: struct{}{},
  2705  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  2706  		Size:              size,
  2707  		Marshal:           marshal,
  2708  		Unmarshal:         unmarshal,
  2709  		Merge:             nil,
  2710  		CheckInitialized:  nil,
  2711  	}
  2712  }
  2713  
  2714  var (
  2715  	md_Nested2A        protoreflect.MessageDescriptor
  2716  	fd_Nested2A_id     protoreflect.FieldDescriptor
  2717  	fd_Nested2A_name   protoreflect.FieldDescriptor
  2718  	fd_Nested2A_nested protoreflect.FieldDescriptor
  2719  )
  2720  
  2721  func init() {
  2722  	file_testpb_unknonwnproto_proto_init()
  2723  	md_Nested2A = File_testpb_unknonwnproto_proto.Messages().ByName("Nested2A")
  2724  	fd_Nested2A_id = md_Nested2A.Fields().ByName("id")
  2725  	fd_Nested2A_name = md_Nested2A.Fields().ByName("name")
  2726  	fd_Nested2A_nested = md_Nested2A.Fields().ByName("nested")
  2727  }
  2728  
  2729  var _ protoreflect.Message = (*fastReflection_Nested2A)(nil)
  2730  
  2731  type fastReflection_Nested2A Nested2A
  2732  
  2733  func (x *Nested2A) ProtoReflect() protoreflect.Message {
  2734  	return (*fastReflection_Nested2A)(x)
  2735  }
  2736  
  2737  func (x *Nested2A) slowProtoReflect() protoreflect.Message {
  2738  	mi := &file_testpb_unknonwnproto_proto_msgTypes[4]
  2739  	if protoimpl.UnsafeEnabled && x != nil {
  2740  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2741  		if ms.LoadMessageInfo() == nil {
  2742  			ms.StoreMessageInfo(mi)
  2743  		}
  2744  		return ms
  2745  	}
  2746  	return mi.MessageOf(x)
  2747  }
  2748  
  2749  var _fastReflection_Nested2A_messageType fastReflection_Nested2A_messageType
  2750  var _ protoreflect.MessageType = fastReflection_Nested2A_messageType{}
  2751  
  2752  type fastReflection_Nested2A_messageType struct{}
  2753  
  2754  func (x fastReflection_Nested2A_messageType) Zero() protoreflect.Message {
  2755  	return (*fastReflection_Nested2A)(nil)
  2756  }
  2757  func (x fastReflection_Nested2A_messageType) New() protoreflect.Message {
  2758  	return new(fastReflection_Nested2A)
  2759  }
  2760  func (x fastReflection_Nested2A_messageType) Descriptor() protoreflect.MessageDescriptor {
  2761  	return md_Nested2A
  2762  }
  2763  
  2764  // Descriptor returns message descriptor, which contains only the protobuf
  2765  // type information for the message.
  2766  func (x *fastReflection_Nested2A) Descriptor() protoreflect.MessageDescriptor {
  2767  	return md_Nested2A
  2768  }
  2769  
  2770  // Type returns the message type, which encapsulates both Go and protobuf
  2771  // type information. If the Go type information is not needed,
  2772  // it is recommended that the message descriptor be used instead.
  2773  func (x *fastReflection_Nested2A) Type() protoreflect.MessageType {
  2774  	return _fastReflection_Nested2A_messageType
  2775  }
  2776  
  2777  // New returns a newly allocated and mutable empty message.
  2778  func (x *fastReflection_Nested2A) New() protoreflect.Message {
  2779  	return new(fastReflection_Nested2A)
  2780  }
  2781  
  2782  // Interface unwraps the message reflection interface and
  2783  // returns the underlying ProtoMessage interface.
  2784  func (x *fastReflection_Nested2A) Interface() protoreflect.ProtoMessage {
  2785  	return (*Nested2A)(x)
  2786  }
  2787  
  2788  // Range iterates over every populated field in an undefined order,
  2789  // calling f for each field descriptor and value encountered.
  2790  // Range returns immediately if f returns false.
  2791  // While iterating, mutating operations may only be performed
  2792  // on the current field descriptor.
  2793  func (x *fastReflection_Nested2A) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  2794  	if x.Id != int32(0) {
  2795  		value := protoreflect.ValueOfInt32(x.Id)
  2796  		if !f(fd_Nested2A_id, value) {
  2797  			return
  2798  		}
  2799  	}
  2800  	if x.Name != "" {
  2801  		value := protoreflect.ValueOfString(x.Name)
  2802  		if !f(fd_Nested2A_name, value) {
  2803  			return
  2804  		}
  2805  	}
  2806  	if x.Nested != nil {
  2807  		value := protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  2808  		if !f(fd_Nested2A_nested, value) {
  2809  			return
  2810  		}
  2811  	}
  2812  }
  2813  
  2814  // Has reports whether a field is populated.
  2815  //
  2816  // Some fields have the property of nullability where it is possible to
  2817  // distinguish between the default value of a field and whether the field
  2818  // was explicitly populated with the default value. Singular message fields,
  2819  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  2820  // fields are populated only if explicitly set.
  2821  //
  2822  // In other cases (aside from the nullable cases above),
  2823  // a proto3 scalar field is populated if it contains a non-zero value, and
  2824  // a repeated field is populated if it is non-empty.
  2825  func (x *fastReflection_Nested2A) Has(fd protoreflect.FieldDescriptor) bool {
  2826  	switch fd.FullName() {
  2827  	case "testpb.Nested2A.id":
  2828  		return x.Id != int32(0)
  2829  	case "testpb.Nested2A.name":
  2830  		return x.Name != ""
  2831  	case "testpb.Nested2A.nested":
  2832  		return x.Nested != nil
  2833  	default:
  2834  		if fd.IsExtension() {
  2835  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2836  		}
  2837  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", fd.FullName()))
  2838  	}
  2839  }
  2840  
  2841  // Clear clears the field such that a subsequent Has call reports false.
  2842  //
  2843  // Clearing an extension field clears both the extension type and value
  2844  // associated with the given field number.
  2845  //
  2846  // Clear is a mutating operation and unsafe for concurrent use.
  2847  func (x *fastReflection_Nested2A) Clear(fd protoreflect.FieldDescriptor) {
  2848  	switch fd.FullName() {
  2849  	case "testpb.Nested2A.id":
  2850  		x.Id = int32(0)
  2851  	case "testpb.Nested2A.name":
  2852  		x.Name = ""
  2853  	case "testpb.Nested2A.nested":
  2854  		x.Nested = nil
  2855  	default:
  2856  		if fd.IsExtension() {
  2857  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2858  		}
  2859  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", fd.FullName()))
  2860  	}
  2861  }
  2862  
  2863  // Get retrieves the value for a field.
  2864  //
  2865  // For unpopulated scalars, it returns the default value, where
  2866  // the default value of a bytes scalar is guaranteed to be a copy.
  2867  // For unpopulated composite types, it returns an empty, read-only view
  2868  // of the value; to obtain a mutable reference, use Mutable.
  2869  func (x *fastReflection_Nested2A) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  2870  	switch descriptor.FullName() {
  2871  	case "testpb.Nested2A.id":
  2872  		value := x.Id
  2873  		return protoreflect.ValueOfInt32(value)
  2874  	case "testpb.Nested2A.name":
  2875  		value := x.Name
  2876  		return protoreflect.ValueOfString(value)
  2877  	case "testpb.Nested2A.nested":
  2878  		value := x.Nested
  2879  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  2880  	default:
  2881  		if descriptor.IsExtension() {
  2882  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2883  		}
  2884  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", descriptor.FullName()))
  2885  	}
  2886  }
  2887  
  2888  // Set stores the value for a field.
  2889  //
  2890  // For a field belonging to a oneof, it implicitly clears any other field
  2891  // that may be currently set within the same oneof.
  2892  // For extension fields, it implicitly stores the provided ExtensionType.
  2893  // When setting a composite type, it is unspecified whether the stored value
  2894  // aliases the source's memory in any way. If the composite value is an
  2895  // empty, read-only value, then it panics.
  2896  //
  2897  // Set is a mutating operation and unsafe for concurrent use.
  2898  func (x *fastReflection_Nested2A) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  2899  	switch fd.FullName() {
  2900  	case "testpb.Nested2A.id":
  2901  		x.Id = int32(value.Int())
  2902  	case "testpb.Nested2A.name":
  2903  		x.Name = value.Interface().(string)
  2904  	case "testpb.Nested2A.nested":
  2905  		x.Nested = value.Message().Interface().(*Nested3A)
  2906  	default:
  2907  		if fd.IsExtension() {
  2908  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2909  		}
  2910  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", fd.FullName()))
  2911  	}
  2912  }
  2913  
  2914  // Mutable returns a mutable reference to a composite type.
  2915  //
  2916  // If the field is unpopulated, it may allocate a composite value.
  2917  // For a field belonging to a oneof, it implicitly clears any other field
  2918  // that may be currently set within the same oneof.
  2919  // For extension fields, it implicitly stores the provided ExtensionType
  2920  // if not already stored.
  2921  // It panics if the field does not contain a composite type.
  2922  //
  2923  // Mutable is a mutating operation and unsafe for concurrent use.
  2924  func (x *fastReflection_Nested2A) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  2925  	switch fd.FullName() {
  2926  	case "testpb.Nested2A.nested":
  2927  		if x.Nested == nil {
  2928  			x.Nested = new(Nested3A)
  2929  		}
  2930  		return protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  2931  	case "testpb.Nested2A.id":
  2932  		panic(fmt.Errorf("field id of message testpb.Nested2A is not mutable"))
  2933  	case "testpb.Nested2A.name":
  2934  		panic(fmt.Errorf("field name of message testpb.Nested2A is not mutable"))
  2935  	default:
  2936  		if fd.IsExtension() {
  2937  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2938  		}
  2939  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", fd.FullName()))
  2940  	}
  2941  }
  2942  
  2943  // NewField returns a new value that is assignable to the field
  2944  // for the given descriptor. For scalars, this returns the default value.
  2945  // For lists, maps, and messages, this returns a new, empty, mutable value.
  2946  func (x *fastReflection_Nested2A) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  2947  	switch fd.FullName() {
  2948  	case "testpb.Nested2A.id":
  2949  		return protoreflect.ValueOfInt32(int32(0))
  2950  	case "testpb.Nested2A.name":
  2951  		return protoreflect.ValueOfString("")
  2952  	case "testpb.Nested2A.nested":
  2953  		m := new(Nested3A)
  2954  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  2955  	default:
  2956  		if fd.IsExtension() {
  2957  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2A"))
  2958  		}
  2959  		panic(fmt.Errorf("message testpb.Nested2A does not contain field %s", fd.FullName()))
  2960  	}
  2961  }
  2962  
  2963  // WhichOneof reports which field within the oneof is populated,
  2964  // returning nil if none are populated.
  2965  // It panics if the oneof descriptor does not belong to this message.
  2966  func (x *fastReflection_Nested2A) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  2967  	switch d.FullName() {
  2968  	default:
  2969  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested2A", d.FullName()))
  2970  	}
  2971  	panic("unreachable")
  2972  }
  2973  
  2974  // GetUnknown retrieves the entire list of unknown fields.
  2975  // The caller may only mutate the contents of the RawFields
  2976  // if the mutated bytes are stored back into the message with SetUnknown.
  2977  func (x *fastReflection_Nested2A) GetUnknown() protoreflect.RawFields {
  2978  	return x.unknownFields
  2979  }
  2980  
  2981  // SetUnknown stores an entire list of unknown fields.
  2982  // The raw fields must be syntactically valid according to the wire format.
  2983  // An implementation may panic if this is not the case.
  2984  // Once stored, the caller must not mutate the content of the RawFields.
  2985  // An empty RawFields may be passed to clear the fields.
  2986  //
  2987  // SetUnknown is a mutating operation and unsafe for concurrent use.
  2988  func (x *fastReflection_Nested2A) SetUnknown(fields protoreflect.RawFields) {
  2989  	x.unknownFields = fields
  2990  }
  2991  
  2992  // IsValid reports whether the message is valid.
  2993  //
  2994  // An invalid message is an empty, read-only value.
  2995  //
  2996  // An invalid message often corresponds to a nil pointer of the concrete
  2997  // message type, but the details are implementation dependent.
  2998  // Validity is not part of the protobuf data model, and may not
  2999  // be preserved in marshaling or other operations.
  3000  func (x *fastReflection_Nested2A) IsValid() bool {
  3001  	return x != nil
  3002  }
  3003  
  3004  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  3005  // This method may return nil.
  3006  //
  3007  // The returned methods type is identical to
  3008  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  3009  // Consult the protoiface package documentation for details.
  3010  func (x *fastReflection_Nested2A) ProtoMethods() *protoiface.Methods {
  3011  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  3012  		x := input.Message.Interface().(*Nested2A)
  3013  		if x == nil {
  3014  			return protoiface.SizeOutput{
  3015  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3016  				Size:              0,
  3017  			}
  3018  		}
  3019  		options := runtime.SizeInputToOptions(input)
  3020  		_ = options
  3021  		var n int
  3022  		var l int
  3023  		_ = l
  3024  		if x.Id != 0 {
  3025  			n += 1 + runtime.Sov(uint64(x.Id))
  3026  		}
  3027  		l = len(x.Name)
  3028  		if l > 0 {
  3029  			n += 1 + l + runtime.Sov(uint64(l))
  3030  		}
  3031  		if x.Nested != nil {
  3032  			l = options.Size(x.Nested)
  3033  			n += 1 + l + runtime.Sov(uint64(l))
  3034  		}
  3035  		if x.unknownFields != nil {
  3036  			n += len(x.unknownFields)
  3037  		}
  3038  		return protoiface.SizeOutput{
  3039  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3040  			Size:              n,
  3041  		}
  3042  	}
  3043  
  3044  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  3045  		x := input.Message.Interface().(*Nested2A)
  3046  		if x == nil {
  3047  			return protoiface.MarshalOutput{
  3048  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3049  				Buf:               input.Buf,
  3050  			}, nil
  3051  		}
  3052  		options := runtime.MarshalInputToOptions(input)
  3053  		_ = options
  3054  		size := options.Size(x)
  3055  		dAtA := make([]byte, size)
  3056  		i := len(dAtA)
  3057  		_ = i
  3058  		var l int
  3059  		_ = l
  3060  		if x.unknownFields != nil {
  3061  			i -= len(x.unknownFields)
  3062  			copy(dAtA[i:], x.unknownFields)
  3063  		}
  3064  		if x.Nested != nil {
  3065  			encoded, err := options.Marshal(x.Nested)
  3066  			if err != nil {
  3067  				return protoiface.MarshalOutput{
  3068  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3069  					Buf:               input.Buf,
  3070  				}, err
  3071  			}
  3072  			i -= len(encoded)
  3073  			copy(dAtA[i:], encoded)
  3074  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  3075  			i--
  3076  			dAtA[i] = 0x1a
  3077  		}
  3078  		if len(x.Name) > 0 {
  3079  			i -= len(x.Name)
  3080  			copy(dAtA[i:], x.Name)
  3081  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  3082  			i--
  3083  			dAtA[i] = 0x12
  3084  		}
  3085  		if x.Id != 0 {
  3086  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  3087  			i--
  3088  			dAtA[i] = 0x8
  3089  		}
  3090  		if input.Buf != nil {
  3091  			input.Buf = append(input.Buf, dAtA...)
  3092  		} else {
  3093  			input.Buf = dAtA
  3094  		}
  3095  		return protoiface.MarshalOutput{
  3096  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3097  			Buf:               input.Buf,
  3098  		}, nil
  3099  	}
  3100  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  3101  		x := input.Message.Interface().(*Nested2A)
  3102  		if x == nil {
  3103  			return protoiface.UnmarshalOutput{
  3104  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3105  				Flags:             input.Flags,
  3106  			}, nil
  3107  		}
  3108  		options := runtime.UnmarshalInputToOptions(input)
  3109  		_ = options
  3110  		dAtA := input.Buf
  3111  		l := len(dAtA)
  3112  		iNdEx := 0
  3113  		for iNdEx < l {
  3114  			preIndex := iNdEx
  3115  			var wire uint64
  3116  			for shift := uint(0); ; shift += 7 {
  3117  				if shift >= 64 {
  3118  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3119  				}
  3120  				if iNdEx >= l {
  3121  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3122  				}
  3123  				b := dAtA[iNdEx]
  3124  				iNdEx++
  3125  				wire |= uint64(b&0x7F) << shift
  3126  				if b < 0x80 {
  3127  					break
  3128  				}
  3129  			}
  3130  			fieldNum := int32(wire >> 3)
  3131  			wireType := int(wire & 0x7)
  3132  			if wireType == 4 {
  3133  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested2A: wiretype end group for non-group")
  3134  			}
  3135  			if fieldNum <= 0 {
  3136  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested2A: illegal tag %d (wire type %d)", fieldNum, wire)
  3137  			}
  3138  			switch fieldNum {
  3139  			case 1:
  3140  				if wireType != 0 {
  3141  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  3142  				}
  3143  				x.Id = 0
  3144  				for shift := uint(0); ; shift += 7 {
  3145  					if shift >= 64 {
  3146  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3147  					}
  3148  					if iNdEx >= l {
  3149  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3150  					}
  3151  					b := dAtA[iNdEx]
  3152  					iNdEx++
  3153  					x.Id |= int32(b&0x7F) << shift
  3154  					if b < 0x80 {
  3155  						break
  3156  					}
  3157  				}
  3158  			case 2:
  3159  				if wireType != 2 {
  3160  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  3161  				}
  3162  				var stringLen uint64
  3163  				for shift := uint(0); ; shift += 7 {
  3164  					if shift >= 64 {
  3165  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3166  					}
  3167  					if iNdEx >= l {
  3168  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3169  					}
  3170  					b := dAtA[iNdEx]
  3171  					iNdEx++
  3172  					stringLen |= uint64(b&0x7F) << shift
  3173  					if b < 0x80 {
  3174  						break
  3175  					}
  3176  				}
  3177  				intStringLen := int(stringLen)
  3178  				if intStringLen < 0 {
  3179  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3180  				}
  3181  				postIndex := iNdEx + intStringLen
  3182  				if postIndex < 0 {
  3183  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3184  				}
  3185  				if postIndex > l {
  3186  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3187  				}
  3188  				x.Name = string(dAtA[iNdEx:postIndex])
  3189  				iNdEx = postIndex
  3190  			case 3:
  3191  				if wireType != 2 {
  3192  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  3193  				}
  3194  				var msglen int
  3195  				for shift := uint(0); ; shift += 7 {
  3196  					if shift >= 64 {
  3197  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3198  					}
  3199  					if iNdEx >= l {
  3200  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3201  					}
  3202  					b := dAtA[iNdEx]
  3203  					iNdEx++
  3204  					msglen |= int(b&0x7F) << shift
  3205  					if b < 0x80 {
  3206  						break
  3207  					}
  3208  				}
  3209  				if msglen < 0 {
  3210  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3211  				}
  3212  				postIndex := iNdEx + msglen
  3213  				if postIndex < 0 {
  3214  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3215  				}
  3216  				if postIndex > l {
  3217  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3218  				}
  3219  				if x.Nested == nil {
  3220  					x.Nested = &Nested3A{}
  3221  				}
  3222  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Nested); err != nil {
  3223  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  3224  				}
  3225  				iNdEx = postIndex
  3226  			default:
  3227  				iNdEx = preIndex
  3228  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  3229  				if err != nil {
  3230  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  3231  				}
  3232  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  3233  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3234  				}
  3235  				if (iNdEx + skippy) > l {
  3236  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3237  				}
  3238  				if !options.DiscardUnknown {
  3239  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  3240  				}
  3241  				iNdEx += skippy
  3242  			}
  3243  		}
  3244  
  3245  		if iNdEx > l {
  3246  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3247  		}
  3248  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  3249  	}
  3250  	return &protoiface.Methods{
  3251  		NoUnkeyedLiterals: struct{}{},
  3252  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  3253  		Size:              size,
  3254  		Marshal:           marshal,
  3255  		Unmarshal:         unmarshal,
  3256  		Merge:             nil,
  3257  		CheckInitialized:  nil,
  3258  	}
  3259  }
  3260  
  3261  var (
  3262  	md_Nested1A        protoreflect.MessageDescriptor
  3263  	fd_Nested1A_id     protoreflect.FieldDescriptor
  3264  	fd_Nested1A_nested protoreflect.FieldDescriptor
  3265  )
  3266  
  3267  func init() {
  3268  	file_testpb_unknonwnproto_proto_init()
  3269  	md_Nested1A = File_testpb_unknonwnproto_proto.Messages().ByName("Nested1A")
  3270  	fd_Nested1A_id = md_Nested1A.Fields().ByName("id")
  3271  	fd_Nested1A_nested = md_Nested1A.Fields().ByName("nested")
  3272  }
  3273  
  3274  var _ protoreflect.Message = (*fastReflection_Nested1A)(nil)
  3275  
  3276  type fastReflection_Nested1A Nested1A
  3277  
  3278  func (x *Nested1A) ProtoReflect() protoreflect.Message {
  3279  	return (*fastReflection_Nested1A)(x)
  3280  }
  3281  
  3282  func (x *Nested1A) slowProtoReflect() protoreflect.Message {
  3283  	mi := &file_testpb_unknonwnproto_proto_msgTypes[5]
  3284  	if protoimpl.UnsafeEnabled && x != nil {
  3285  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3286  		if ms.LoadMessageInfo() == nil {
  3287  			ms.StoreMessageInfo(mi)
  3288  		}
  3289  		return ms
  3290  	}
  3291  	return mi.MessageOf(x)
  3292  }
  3293  
  3294  var _fastReflection_Nested1A_messageType fastReflection_Nested1A_messageType
  3295  var _ protoreflect.MessageType = fastReflection_Nested1A_messageType{}
  3296  
  3297  type fastReflection_Nested1A_messageType struct{}
  3298  
  3299  func (x fastReflection_Nested1A_messageType) Zero() protoreflect.Message {
  3300  	return (*fastReflection_Nested1A)(nil)
  3301  }
  3302  func (x fastReflection_Nested1A_messageType) New() protoreflect.Message {
  3303  	return new(fastReflection_Nested1A)
  3304  }
  3305  func (x fastReflection_Nested1A_messageType) Descriptor() protoreflect.MessageDescriptor {
  3306  	return md_Nested1A
  3307  }
  3308  
  3309  // Descriptor returns message descriptor, which contains only the protobuf
  3310  // type information for the message.
  3311  func (x *fastReflection_Nested1A) Descriptor() protoreflect.MessageDescriptor {
  3312  	return md_Nested1A
  3313  }
  3314  
  3315  // Type returns the message type, which encapsulates both Go and protobuf
  3316  // type information. If the Go type information is not needed,
  3317  // it is recommended that the message descriptor be used instead.
  3318  func (x *fastReflection_Nested1A) Type() protoreflect.MessageType {
  3319  	return _fastReflection_Nested1A_messageType
  3320  }
  3321  
  3322  // New returns a newly allocated and mutable empty message.
  3323  func (x *fastReflection_Nested1A) New() protoreflect.Message {
  3324  	return new(fastReflection_Nested1A)
  3325  }
  3326  
  3327  // Interface unwraps the message reflection interface and
  3328  // returns the underlying ProtoMessage interface.
  3329  func (x *fastReflection_Nested1A) Interface() protoreflect.ProtoMessage {
  3330  	return (*Nested1A)(x)
  3331  }
  3332  
  3333  // Range iterates over every populated field in an undefined order,
  3334  // calling f for each field descriptor and value encountered.
  3335  // Range returns immediately if f returns false.
  3336  // While iterating, mutating operations may only be performed
  3337  // on the current field descriptor.
  3338  func (x *fastReflection_Nested1A) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  3339  	if x.Id != int32(0) {
  3340  		value := protoreflect.ValueOfInt32(x.Id)
  3341  		if !f(fd_Nested1A_id, value) {
  3342  			return
  3343  		}
  3344  	}
  3345  	if x.Nested != nil {
  3346  		value := protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  3347  		if !f(fd_Nested1A_nested, value) {
  3348  			return
  3349  		}
  3350  	}
  3351  }
  3352  
  3353  // Has reports whether a field is populated.
  3354  //
  3355  // Some fields have the property of nullability where it is possible to
  3356  // distinguish between the default value of a field and whether the field
  3357  // was explicitly populated with the default value. Singular message fields,
  3358  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  3359  // fields are populated only if explicitly set.
  3360  //
  3361  // In other cases (aside from the nullable cases above),
  3362  // a proto3 scalar field is populated if it contains a non-zero value, and
  3363  // a repeated field is populated if it is non-empty.
  3364  func (x *fastReflection_Nested1A) Has(fd protoreflect.FieldDescriptor) bool {
  3365  	switch fd.FullName() {
  3366  	case "testpb.Nested1A.id":
  3367  		return x.Id != int32(0)
  3368  	case "testpb.Nested1A.nested":
  3369  		return x.Nested != nil
  3370  	default:
  3371  		if fd.IsExtension() {
  3372  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3373  		}
  3374  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", fd.FullName()))
  3375  	}
  3376  }
  3377  
  3378  // Clear clears the field such that a subsequent Has call reports false.
  3379  //
  3380  // Clearing an extension field clears both the extension type and value
  3381  // associated with the given field number.
  3382  //
  3383  // Clear is a mutating operation and unsafe for concurrent use.
  3384  func (x *fastReflection_Nested1A) Clear(fd protoreflect.FieldDescriptor) {
  3385  	switch fd.FullName() {
  3386  	case "testpb.Nested1A.id":
  3387  		x.Id = int32(0)
  3388  	case "testpb.Nested1A.nested":
  3389  		x.Nested = nil
  3390  	default:
  3391  		if fd.IsExtension() {
  3392  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3393  		}
  3394  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", fd.FullName()))
  3395  	}
  3396  }
  3397  
  3398  // Get retrieves the value for a field.
  3399  //
  3400  // For unpopulated scalars, it returns the default value, where
  3401  // the default value of a bytes scalar is guaranteed to be a copy.
  3402  // For unpopulated composite types, it returns an empty, read-only view
  3403  // of the value; to obtain a mutable reference, use Mutable.
  3404  func (x *fastReflection_Nested1A) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  3405  	switch descriptor.FullName() {
  3406  	case "testpb.Nested1A.id":
  3407  		value := x.Id
  3408  		return protoreflect.ValueOfInt32(value)
  3409  	case "testpb.Nested1A.nested":
  3410  		value := x.Nested
  3411  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  3412  	default:
  3413  		if descriptor.IsExtension() {
  3414  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3415  		}
  3416  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", descriptor.FullName()))
  3417  	}
  3418  }
  3419  
  3420  // Set stores the value for a field.
  3421  //
  3422  // For a field belonging to a oneof, it implicitly clears any other field
  3423  // that may be currently set within the same oneof.
  3424  // For extension fields, it implicitly stores the provided ExtensionType.
  3425  // When setting a composite type, it is unspecified whether the stored value
  3426  // aliases the source's memory in any way. If the composite value is an
  3427  // empty, read-only value, then it panics.
  3428  //
  3429  // Set is a mutating operation and unsafe for concurrent use.
  3430  func (x *fastReflection_Nested1A) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  3431  	switch fd.FullName() {
  3432  	case "testpb.Nested1A.id":
  3433  		x.Id = int32(value.Int())
  3434  	case "testpb.Nested1A.nested":
  3435  		x.Nested = value.Message().Interface().(*Nested2A)
  3436  	default:
  3437  		if fd.IsExtension() {
  3438  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3439  		}
  3440  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", fd.FullName()))
  3441  	}
  3442  }
  3443  
  3444  // Mutable returns a mutable reference to a composite type.
  3445  //
  3446  // If the field is unpopulated, it may allocate a composite value.
  3447  // For a field belonging to a oneof, it implicitly clears any other field
  3448  // that may be currently set within the same oneof.
  3449  // For extension fields, it implicitly stores the provided ExtensionType
  3450  // if not already stored.
  3451  // It panics if the field does not contain a composite type.
  3452  //
  3453  // Mutable is a mutating operation and unsafe for concurrent use.
  3454  func (x *fastReflection_Nested1A) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  3455  	switch fd.FullName() {
  3456  	case "testpb.Nested1A.nested":
  3457  		if x.Nested == nil {
  3458  			x.Nested = new(Nested2A)
  3459  		}
  3460  		return protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  3461  	case "testpb.Nested1A.id":
  3462  		panic(fmt.Errorf("field id of message testpb.Nested1A is not mutable"))
  3463  	default:
  3464  		if fd.IsExtension() {
  3465  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3466  		}
  3467  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", fd.FullName()))
  3468  	}
  3469  }
  3470  
  3471  // NewField returns a new value that is assignable to the field
  3472  // for the given descriptor. For scalars, this returns the default value.
  3473  // For lists, maps, and messages, this returns a new, empty, mutable value.
  3474  func (x *fastReflection_Nested1A) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  3475  	switch fd.FullName() {
  3476  	case "testpb.Nested1A.id":
  3477  		return protoreflect.ValueOfInt32(int32(0))
  3478  	case "testpb.Nested1A.nested":
  3479  		m := new(Nested2A)
  3480  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  3481  	default:
  3482  		if fd.IsExtension() {
  3483  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1A"))
  3484  		}
  3485  		panic(fmt.Errorf("message testpb.Nested1A does not contain field %s", fd.FullName()))
  3486  	}
  3487  }
  3488  
  3489  // WhichOneof reports which field within the oneof is populated,
  3490  // returning nil if none are populated.
  3491  // It panics if the oneof descriptor does not belong to this message.
  3492  func (x *fastReflection_Nested1A) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  3493  	switch d.FullName() {
  3494  	default:
  3495  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested1A", d.FullName()))
  3496  	}
  3497  	panic("unreachable")
  3498  }
  3499  
  3500  // GetUnknown retrieves the entire list of unknown fields.
  3501  // The caller may only mutate the contents of the RawFields
  3502  // if the mutated bytes are stored back into the message with SetUnknown.
  3503  func (x *fastReflection_Nested1A) GetUnknown() protoreflect.RawFields {
  3504  	return x.unknownFields
  3505  }
  3506  
  3507  // SetUnknown stores an entire list of unknown fields.
  3508  // The raw fields must be syntactically valid according to the wire format.
  3509  // An implementation may panic if this is not the case.
  3510  // Once stored, the caller must not mutate the content of the RawFields.
  3511  // An empty RawFields may be passed to clear the fields.
  3512  //
  3513  // SetUnknown is a mutating operation and unsafe for concurrent use.
  3514  func (x *fastReflection_Nested1A) SetUnknown(fields protoreflect.RawFields) {
  3515  	x.unknownFields = fields
  3516  }
  3517  
  3518  // IsValid reports whether the message is valid.
  3519  //
  3520  // An invalid message is an empty, read-only value.
  3521  //
  3522  // An invalid message often corresponds to a nil pointer of the concrete
  3523  // message type, but the details are implementation dependent.
  3524  // Validity is not part of the protobuf data model, and may not
  3525  // be preserved in marshaling or other operations.
  3526  func (x *fastReflection_Nested1A) IsValid() bool {
  3527  	return x != nil
  3528  }
  3529  
  3530  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  3531  // This method may return nil.
  3532  //
  3533  // The returned methods type is identical to
  3534  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  3535  // Consult the protoiface package documentation for details.
  3536  func (x *fastReflection_Nested1A) ProtoMethods() *protoiface.Methods {
  3537  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  3538  		x := input.Message.Interface().(*Nested1A)
  3539  		if x == nil {
  3540  			return protoiface.SizeOutput{
  3541  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3542  				Size:              0,
  3543  			}
  3544  		}
  3545  		options := runtime.SizeInputToOptions(input)
  3546  		_ = options
  3547  		var n int
  3548  		var l int
  3549  		_ = l
  3550  		if x.Id != 0 {
  3551  			n += 1 + runtime.Sov(uint64(x.Id))
  3552  		}
  3553  		if x.Nested != nil {
  3554  			l = options.Size(x.Nested)
  3555  			n += 1 + l + runtime.Sov(uint64(l))
  3556  		}
  3557  		if x.unknownFields != nil {
  3558  			n += len(x.unknownFields)
  3559  		}
  3560  		return protoiface.SizeOutput{
  3561  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3562  			Size:              n,
  3563  		}
  3564  	}
  3565  
  3566  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  3567  		x := input.Message.Interface().(*Nested1A)
  3568  		if x == nil {
  3569  			return protoiface.MarshalOutput{
  3570  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3571  				Buf:               input.Buf,
  3572  			}, nil
  3573  		}
  3574  		options := runtime.MarshalInputToOptions(input)
  3575  		_ = options
  3576  		size := options.Size(x)
  3577  		dAtA := make([]byte, size)
  3578  		i := len(dAtA)
  3579  		_ = i
  3580  		var l int
  3581  		_ = l
  3582  		if x.unknownFields != nil {
  3583  			i -= len(x.unknownFields)
  3584  			copy(dAtA[i:], x.unknownFields)
  3585  		}
  3586  		if x.Nested != nil {
  3587  			encoded, err := options.Marshal(x.Nested)
  3588  			if err != nil {
  3589  				return protoiface.MarshalOutput{
  3590  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3591  					Buf:               input.Buf,
  3592  				}, err
  3593  			}
  3594  			i -= len(encoded)
  3595  			copy(dAtA[i:], encoded)
  3596  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  3597  			i--
  3598  			dAtA[i] = 0x12
  3599  		}
  3600  		if x.Id != 0 {
  3601  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  3602  			i--
  3603  			dAtA[i] = 0x8
  3604  		}
  3605  		if input.Buf != nil {
  3606  			input.Buf = append(input.Buf, dAtA...)
  3607  		} else {
  3608  			input.Buf = dAtA
  3609  		}
  3610  		return protoiface.MarshalOutput{
  3611  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3612  			Buf:               input.Buf,
  3613  		}, nil
  3614  	}
  3615  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  3616  		x := input.Message.Interface().(*Nested1A)
  3617  		if x == nil {
  3618  			return protoiface.UnmarshalOutput{
  3619  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  3620  				Flags:             input.Flags,
  3621  			}, nil
  3622  		}
  3623  		options := runtime.UnmarshalInputToOptions(input)
  3624  		_ = options
  3625  		dAtA := input.Buf
  3626  		l := len(dAtA)
  3627  		iNdEx := 0
  3628  		for iNdEx < l {
  3629  			preIndex := iNdEx
  3630  			var wire uint64
  3631  			for shift := uint(0); ; shift += 7 {
  3632  				if shift >= 64 {
  3633  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3634  				}
  3635  				if iNdEx >= l {
  3636  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3637  				}
  3638  				b := dAtA[iNdEx]
  3639  				iNdEx++
  3640  				wire |= uint64(b&0x7F) << shift
  3641  				if b < 0x80 {
  3642  					break
  3643  				}
  3644  			}
  3645  			fieldNum := int32(wire >> 3)
  3646  			wireType := int(wire & 0x7)
  3647  			if wireType == 4 {
  3648  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested1A: wiretype end group for non-group")
  3649  			}
  3650  			if fieldNum <= 0 {
  3651  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested1A: illegal tag %d (wire type %d)", fieldNum, wire)
  3652  			}
  3653  			switch fieldNum {
  3654  			case 1:
  3655  				if wireType != 0 {
  3656  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  3657  				}
  3658  				x.Id = 0
  3659  				for shift := uint(0); ; shift += 7 {
  3660  					if shift >= 64 {
  3661  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3662  					}
  3663  					if iNdEx >= l {
  3664  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3665  					}
  3666  					b := dAtA[iNdEx]
  3667  					iNdEx++
  3668  					x.Id |= int32(b&0x7F) << shift
  3669  					if b < 0x80 {
  3670  						break
  3671  					}
  3672  				}
  3673  			case 2:
  3674  				if wireType != 2 {
  3675  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  3676  				}
  3677  				var msglen int
  3678  				for shift := uint(0); ; shift += 7 {
  3679  					if shift >= 64 {
  3680  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  3681  					}
  3682  					if iNdEx >= l {
  3683  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3684  					}
  3685  					b := dAtA[iNdEx]
  3686  					iNdEx++
  3687  					msglen |= int(b&0x7F) << shift
  3688  					if b < 0x80 {
  3689  						break
  3690  					}
  3691  				}
  3692  				if msglen < 0 {
  3693  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3694  				}
  3695  				postIndex := iNdEx + msglen
  3696  				if postIndex < 0 {
  3697  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3698  				}
  3699  				if postIndex > l {
  3700  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3701  				}
  3702  				if x.Nested == nil {
  3703  					x.Nested = &Nested2A{}
  3704  				}
  3705  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Nested); err != nil {
  3706  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  3707  				}
  3708  				iNdEx = postIndex
  3709  			default:
  3710  				iNdEx = preIndex
  3711  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  3712  				if err != nil {
  3713  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  3714  				}
  3715  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  3716  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  3717  				}
  3718  				if (iNdEx + skippy) > l {
  3719  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3720  				}
  3721  				if !options.DiscardUnknown {
  3722  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  3723  				}
  3724  				iNdEx += skippy
  3725  			}
  3726  		}
  3727  
  3728  		if iNdEx > l {
  3729  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  3730  		}
  3731  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  3732  	}
  3733  	return &protoiface.Methods{
  3734  		NoUnkeyedLiterals: struct{}{},
  3735  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  3736  		Size:              size,
  3737  		Marshal:           marshal,
  3738  		Unmarshal:         unmarshal,
  3739  		Merge:             nil,
  3740  		CheckInitialized:  nil,
  3741  	}
  3742  }
  3743  
  3744  var (
  3745  	md_Nested4B      protoreflect.MessageDescriptor
  3746  	fd_Nested4B_id   protoreflect.FieldDescriptor
  3747  	fd_Nested4B_age  protoreflect.FieldDescriptor
  3748  	fd_Nested4B_name protoreflect.FieldDescriptor
  3749  )
  3750  
  3751  func init() {
  3752  	file_testpb_unknonwnproto_proto_init()
  3753  	md_Nested4B = File_testpb_unknonwnproto_proto.Messages().ByName("Nested4B")
  3754  	fd_Nested4B_id = md_Nested4B.Fields().ByName("id")
  3755  	fd_Nested4B_age = md_Nested4B.Fields().ByName("age")
  3756  	fd_Nested4B_name = md_Nested4B.Fields().ByName("name")
  3757  }
  3758  
  3759  var _ protoreflect.Message = (*fastReflection_Nested4B)(nil)
  3760  
  3761  type fastReflection_Nested4B Nested4B
  3762  
  3763  func (x *Nested4B) ProtoReflect() protoreflect.Message {
  3764  	return (*fastReflection_Nested4B)(x)
  3765  }
  3766  
  3767  func (x *Nested4B) slowProtoReflect() protoreflect.Message {
  3768  	mi := &file_testpb_unknonwnproto_proto_msgTypes[6]
  3769  	if protoimpl.UnsafeEnabled && x != nil {
  3770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3771  		if ms.LoadMessageInfo() == nil {
  3772  			ms.StoreMessageInfo(mi)
  3773  		}
  3774  		return ms
  3775  	}
  3776  	return mi.MessageOf(x)
  3777  }
  3778  
  3779  var _fastReflection_Nested4B_messageType fastReflection_Nested4B_messageType
  3780  var _ protoreflect.MessageType = fastReflection_Nested4B_messageType{}
  3781  
  3782  type fastReflection_Nested4B_messageType struct{}
  3783  
  3784  func (x fastReflection_Nested4B_messageType) Zero() protoreflect.Message {
  3785  	return (*fastReflection_Nested4B)(nil)
  3786  }
  3787  func (x fastReflection_Nested4B_messageType) New() protoreflect.Message {
  3788  	return new(fastReflection_Nested4B)
  3789  }
  3790  func (x fastReflection_Nested4B_messageType) Descriptor() protoreflect.MessageDescriptor {
  3791  	return md_Nested4B
  3792  }
  3793  
  3794  // Descriptor returns message descriptor, which contains only the protobuf
  3795  // type information for the message.
  3796  func (x *fastReflection_Nested4B) Descriptor() protoreflect.MessageDescriptor {
  3797  	return md_Nested4B
  3798  }
  3799  
  3800  // Type returns the message type, which encapsulates both Go and protobuf
  3801  // type information. If the Go type information is not needed,
  3802  // it is recommended that the message descriptor be used instead.
  3803  func (x *fastReflection_Nested4B) Type() protoreflect.MessageType {
  3804  	return _fastReflection_Nested4B_messageType
  3805  }
  3806  
  3807  // New returns a newly allocated and mutable empty message.
  3808  func (x *fastReflection_Nested4B) New() protoreflect.Message {
  3809  	return new(fastReflection_Nested4B)
  3810  }
  3811  
  3812  // Interface unwraps the message reflection interface and
  3813  // returns the underlying ProtoMessage interface.
  3814  func (x *fastReflection_Nested4B) Interface() protoreflect.ProtoMessage {
  3815  	return (*Nested4B)(x)
  3816  }
  3817  
  3818  // Range iterates over every populated field in an undefined order,
  3819  // calling f for each field descriptor and value encountered.
  3820  // Range returns immediately if f returns false.
  3821  // While iterating, mutating operations may only be performed
  3822  // on the current field descriptor.
  3823  func (x *fastReflection_Nested4B) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  3824  	if x.Id != int32(0) {
  3825  		value := protoreflect.ValueOfInt32(x.Id)
  3826  		if !f(fd_Nested4B_id, value) {
  3827  			return
  3828  		}
  3829  	}
  3830  	if x.Age != int32(0) {
  3831  		value := protoreflect.ValueOfInt32(x.Age)
  3832  		if !f(fd_Nested4B_age, value) {
  3833  			return
  3834  		}
  3835  	}
  3836  	if x.Name != "" {
  3837  		value := protoreflect.ValueOfString(x.Name)
  3838  		if !f(fd_Nested4B_name, value) {
  3839  			return
  3840  		}
  3841  	}
  3842  }
  3843  
  3844  // Has reports whether a field is populated.
  3845  //
  3846  // Some fields have the property of nullability where it is possible to
  3847  // distinguish between the default value of a field and whether the field
  3848  // was explicitly populated with the default value. Singular message fields,
  3849  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  3850  // fields are populated only if explicitly set.
  3851  //
  3852  // In other cases (aside from the nullable cases above),
  3853  // a proto3 scalar field is populated if it contains a non-zero value, and
  3854  // a repeated field is populated if it is non-empty.
  3855  func (x *fastReflection_Nested4B) Has(fd protoreflect.FieldDescriptor) bool {
  3856  	switch fd.FullName() {
  3857  	case "testpb.Nested4B.id":
  3858  		return x.Id != int32(0)
  3859  	case "testpb.Nested4B.age":
  3860  		return x.Age != int32(0)
  3861  	case "testpb.Nested4B.name":
  3862  		return x.Name != ""
  3863  	default:
  3864  		if fd.IsExtension() {
  3865  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3866  		}
  3867  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", fd.FullName()))
  3868  	}
  3869  }
  3870  
  3871  // Clear clears the field such that a subsequent Has call reports false.
  3872  //
  3873  // Clearing an extension field clears both the extension type and value
  3874  // associated with the given field number.
  3875  //
  3876  // Clear is a mutating operation and unsafe for concurrent use.
  3877  func (x *fastReflection_Nested4B) Clear(fd protoreflect.FieldDescriptor) {
  3878  	switch fd.FullName() {
  3879  	case "testpb.Nested4B.id":
  3880  		x.Id = int32(0)
  3881  	case "testpb.Nested4B.age":
  3882  		x.Age = int32(0)
  3883  	case "testpb.Nested4B.name":
  3884  		x.Name = ""
  3885  	default:
  3886  		if fd.IsExtension() {
  3887  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3888  		}
  3889  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", fd.FullName()))
  3890  	}
  3891  }
  3892  
  3893  // Get retrieves the value for a field.
  3894  //
  3895  // For unpopulated scalars, it returns the default value, where
  3896  // the default value of a bytes scalar is guaranteed to be a copy.
  3897  // For unpopulated composite types, it returns an empty, read-only view
  3898  // of the value; to obtain a mutable reference, use Mutable.
  3899  func (x *fastReflection_Nested4B) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  3900  	switch descriptor.FullName() {
  3901  	case "testpb.Nested4B.id":
  3902  		value := x.Id
  3903  		return protoreflect.ValueOfInt32(value)
  3904  	case "testpb.Nested4B.age":
  3905  		value := x.Age
  3906  		return protoreflect.ValueOfInt32(value)
  3907  	case "testpb.Nested4B.name":
  3908  		value := x.Name
  3909  		return protoreflect.ValueOfString(value)
  3910  	default:
  3911  		if descriptor.IsExtension() {
  3912  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3913  		}
  3914  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", descriptor.FullName()))
  3915  	}
  3916  }
  3917  
  3918  // Set stores the value for a field.
  3919  //
  3920  // For a field belonging to a oneof, it implicitly clears any other field
  3921  // that may be currently set within the same oneof.
  3922  // For extension fields, it implicitly stores the provided ExtensionType.
  3923  // When setting a composite type, it is unspecified whether the stored value
  3924  // aliases the source's memory in any way. If the composite value is an
  3925  // empty, read-only value, then it panics.
  3926  //
  3927  // Set is a mutating operation and unsafe for concurrent use.
  3928  func (x *fastReflection_Nested4B) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  3929  	switch fd.FullName() {
  3930  	case "testpb.Nested4B.id":
  3931  		x.Id = int32(value.Int())
  3932  	case "testpb.Nested4B.age":
  3933  		x.Age = int32(value.Int())
  3934  	case "testpb.Nested4B.name":
  3935  		x.Name = value.Interface().(string)
  3936  	default:
  3937  		if fd.IsExtension() {
  3938  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3939  		}
  3940  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", fd.FullName()))
  3941  	}
  3942  }
  3943  
  3944  // Mutable returns a mutable reference to a composite type.
  3945  //
  3946  // If the field is unpopulated, it may allocate a composite value.
  3947  // For a field belonging to a oneof, it implicitly clears any other field
  3948  // that may be currently set within the same oneof.
  3949  // For extension fields, it implicitly stores the provided ExtensionType
  3950  // if not already stored.
  3951  // It panics if the field does not contain a composite type.
  3952  //
  3953  // Mutable is a mutating operation and unsafe for concurrent use.
  3954  func (x *fastReflection_Nested4B) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  3955  	switch fd.FullName() {
  3956  	case "testpb.Nested4B.id":
  3957  		panic(fmt.Errorf("field id of message testpb.Nested4B is not mutable"))
  3958  	case "testpb.Nested4B.age":
  3959  		panic(fmt.Errorf("field age of message testpb.Nested4B is not mutable"))
  3960  	case "testpb.Nested4B.name":
  3961  		panic(fmt.Errorf("field name of message testpb.Nested4B is not mutable"))
  3962  	default:
  3963  		if fd.IsExtension() {
  3964  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3965  		}
  3966  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", fd.FullName()))
  3967  	}
  3968  }
  3969  
  3970  // NewField returns a new value that is assignable to the field
  3971  // for the given descriptor. For scalars, this returns the default value.
  3972  // For lists, maps, and messages, this returns a new, empty, mutable value.
  3973  func (x *fastReflection_Nested4B) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  3974  	switch fd.FullName() {
  3975  	case "testpb.Nested4B.id":
  3976  		return protoreflect.ValueOfInt32(int32(0))
  3977  	case "testpb.Nested4B.age":
  3978  		return protoreflect.ValueOfInt32(int32(0))
  3979  	case "testpb.Nested4B.name":
  3980  		return protoreflect.ValueOfString("")
  3981  	default:
  3982  		if fd.IsExtension() {
  3983  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested4B"))
  3984  		}
  3985  		panic(fmt.Errorf("message testpb.Nested4B does not contain field %s", fd.FullName()))
  3986  	}
  3987  }
  3988  
  3989  // WhichOneof reports which field within the oneof is populated,
  3990  // returning nil if none are populated.
  3991  // It panics if the oneof descriptor does not belong to this message.
  3992  func (x *fastReflection_Nested4B) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  3993  	switch d.FullName() {
  3994  	default:
  3995  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested4B", d.FullName()))
  3996  	}
  3997  	panic("unreachable")
  3998  }
  3999  
  4000  // GetUnknown retrieves the entire list of unknown fields.
  4001  // The caller may only mutate the contents of the RawFields
  4002  // if the mutated bytes are stored back into the message with SetUnknown.
  4003  func (x *fastReflection_Nested4B) GetUnknown() protoreflect.RawFields {
  4004  	return x.unknownFields
  4005  }
  4006  
  4007  // SetUnknown stores an entire list of unknown fields.
  4008  // The raw fields must be syntactically valid according to the wire format.
  4009  // An implementation may panic if this is not the case.
  4010  // Once stored, the caller must not mutate the content of the RawFields.
  4011  // An empty RawFields may be passed to clear the fields.
  4012  //
  4013  // SetUnknown is a mutating operation and unsafe for concurrent use.
  4014  func (x *fastReflection_Nested4B) SetUnknown(fields protoreflect.RawFields) {
  4015  	x.unknownFields = fields
  4016  }
  4017  
  4018  // IsValid reports whether the message is valid.
  4019  //
  4020  // An invalid message is an empty, read-only value.
  4021  //
  4022  // An invalid message often corresponds to a nil pointer of the concrete
  4023  // message type, but the details are implementation dependent.
  4024  // Validity is not part of the protobuf data model, and may not
  4025  // be preserved in marshaling or other operations.
  4026  func (x *fastReflection_Nested4B) IsValid() bool {
  4027  	return x != nil
  4028  }
  4029  
  4030  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  4031  // This method may return nil.
  4032  //
  4033  // The returned methods type is identical to
  4034  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  4035  // Consult the protoiface package documentation for details.
  4036  func (x *fastReflection_Nested4B) ProtoMethods() *protoiface.Methods {
  4037  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  4038  		x := input.Message.Interface().(*Nested4B)
  4039  		if x == nil {
  4040  			return protoiface.SizeOutput{
  4041  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4042  				Size:              0,
  4043  			}
  4044  		}
  4045  		options := runtime.SizeInputToOptions(input)
  4046  		_ = options
  4047  		var n int
  4048  		var l int
  4049  		_ = l
  4050  		if x.Id != 0 {
  4051  			n += 1 + runtime.Sov(uint64(x.Id))
  4052  		}
  4053  		if x.Age != 0 {
  4054  			n += 1 + runtime.Sov(uint64(x.Age))
  4055  		}
  4056  		l = len(x.Name)
  4057  		if l > 0 {
  4058  			n += 1 + l + runtime.Sov(uint64(l))
  4059  		}
  4060  		if x.unknownFields != nil {
  4061  			n += len(x.unknownFields)
  4062  		}
  4063  		return protoiface.SizeOutput{
  4064  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4065  			Size:              n,
  4066  		}
  4067  	}
  4068  
  4069  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  4070  		x := input.Message.Interface().(*Nested4B)
  4071  		if x == nil {
  4072  			return protoiface.MarshalOutput{
  4073  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4074  				Buf:               input.Buf,
  4075  			}, nil
  4076  		}
  4077  		options := runtime.MarshalInputToOptions(input)
  4078  		_ = options
  4079  		size := options.Size(x)
  4080  		dAtA := make([]byte, size)
  4081  		i := len(dAtA)
  4082  		_ = i
  4083  		var l int
  4084  		_ = l
  4085  		if x.unknownFields != nil {
  4086  			i -= len(x.unknownFields)
  4087  			copy(dAtA[i:], x.unknownFields)
  4088  		}
  4089  		if len(x.Name) > 0 {
  4090  			i -= len(x.Name)
  4091  			copy(dAtA[i:], x.Name)
  4092  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  4093  			i--
  4094  			dAtA[i] = 0x1a
  4095  		}
  4096  		if x.Age != 0 {
  4097  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Age))
  4098  			i--
  4099  			dAtA[i] = 0x10
  4100  		}
  4101  		if x.Id != 0 {
  4102  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  4103  			i--
  4104  			dAtA[i] = 0x8
  4105  		}
  4106  		if input.Buf != nil {
  4107  			input.Buf = append(input.Buf, dAtA...)
  4108  		} else {
  4109  			input.Buf = dAtA
  4110  		}
  4111  		return protoiface.MarshalOutput{
  4112  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4113  			Buf:               input.Buf,
  4114  		}, nil
  4115  	}
  4116  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  4117  		x := input.Message.Interface().(*Nested4B)
  4118  		if x == nil {
  4119  			return protoiface.UnmarshalOutput{
  4120  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4121  				Flags:             input.Flags,
  4122  			}, nil
  4123  		}
  4124  		options := runtime.UnmarshalInputToOptions(input)
  4125  		_ = options
  4126  		dAtA := input.Buf
  4127  		l := len(dAtA)
  4128  		iNdEx := 0
  4129  		for iNdEx < l {
  4130  			preIndex := iNdEx
  4131  			var wire uint64
  4132  			for shift := uint(0); ; shift += 7 {
  4133  				if shift >= 64 {
  4134  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4135  				}
  4136  				if iNdEx >= l {
  4137  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4138  				}
  4139  				b := dAtA[iNdEx]
  4140  				iNdEx++
  4141  				wire |= uint64(b&0x7F) << shift
  4142  				if b < 0x80 {
  4143  					break
  4144  				}
  4145  			}
  4146  			fieldNum := int32(wire >> 3)
  4147  			wireType := int(wire & 0x7)
  4148  			if wireType == 4 {
  4149  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested4B: wiretype end group for non-group")
  4150  			}
  4151  			if fieldNum <= 0 {
  4152  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested4B: illegal tag %d (wire type %d)", fieldNum, wire)
  4153  			}
  4154  			switch fieldNum {
  4155  			case 1:
  4156  				if wireType != 0 {
  4157  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  4158  				}
  4159  				x.Id = 0
  4160  				for shift := uint(0); ; shift += 7 {
  4161  					if shift >= 64 {
  4162  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4163  					}
  4164  					if iNdEx >= l {
  4165  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4166  					}
  4167  					b := dAtA[iNdEx]
  4168  					iNdEx++
  4169  					x.Id |= int32(b&0x7F) << shift
  4170  					if b < 0x80 {
  4171  						break
  4172  					}
  4173  				}
  4174  			case 2:
  4175  				if wireType != 0 {
  4176  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  4177  				}
  4178  				x.Age = 0
  4179  				for shift := uint(0); ; shift += 7 {
  4180  					if shift >= 64 {
  4181  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4182  					}
  4183  					if iNdEx >= l {
  4184  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4185  					}
  4186  					b := dAtA[iNdEx]
  4187  					iNdEx++
  4188  					x.Age |= int32(b&0x7F) << shift
  4189  					if b < 0x80 {
  4190  						break
  4191  					}
  4192  				}
  4193  			case 3:
  4194  				if wireType != 2 {
  4195  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  4196  				}
  4197  				var stringLen uint64
  4198  				for shift := uint(0); ; shift += 7 {
  4199  					if shift >= 64 {
  4200  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4201  					}
  4202  					if iNdEx >= l {
  4203  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4204  					}
  4205  					b := dAtA[iNdEx]
  4206  					iNdEx++
  4207  					stringLen |= uint64(b&0x7F) << shift
  4208  					if b < 0x80 {
  4209  						break
  4210  					}
  4211  				}
  4212  				intStringLen := int(stringLen)
  4213  				if intStringLen < 0 {
  4214  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4215  				}
  4216  				postIndex := iNdEx + intStringLen
  4217  				if postIndex < 0 {
  4218  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4219  				}
  4220  				if postIndex > l {
  4221  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4222  				}
  4223  				x.Name = string(dAtA[iNdEx:postIndex])
  4224  				iNdEx = postIndex
  4225  			default:
  4226  				iNdEx = preIndex
  4227  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  4228  				if err != nil {
  4229  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  4230  				}
  4231  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  4232  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4233  				}
  4234  				if (iNdEx + skippy) > l {
  4235  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4236  				}
  4237  				if !options.DiscardUnknown {
  4238  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  4239  				}
  4240  				iNdEx += skippy
  4241  			}
  4242  		}
  4243  
  4244  		if iNdEx > l {
  4245  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4246  		}
  4247  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  4248  	}
  4249  	return &protoiface.Methods{
  4250  		NoUnkeyedLiterals: struct{}{},
  4251  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  4252  		Size:              size,
  4253  		Marshal:           marshal,
  4254  		Unmarshal:         unmarshal,
  4255  		Merge:             nil,
  4256  		CheckInitialized:  nil,
  4257  	}
  4258  }
  4259  
  4260  var _ protoreflect.List = (*_Nested3B_4_list)(nil)
  4261  
  4262  type _Nested3B_4_list struct {
  4263  	list *[]*Nested4B
  4264  }
  4265  
  4266  func (x *_Nested3B_4_list) Len() int {
  4267  	if x.list == nil {
  4268  		return 0
  4269  	}
  4270  	return len(*x.list)
  4271  }
  4272  
  4273  func (x *_Nested3B_4_list) Get(i int) protoreflect.Value {
  4274  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  4275  }
  4276  
  4277  func (x *_Nested3B_4_list) Set(i int, value protoreflect.Value) {
  4278  	valueUnwrapped := value.Message()
  4279  	concreteValue := valueUnwrapped.Interface().(*Nested4B)
  4280  	(*x.list)[i] = concreteValue
  4281  }
  4282  
  4283  func (x *_Nested3B_4_list) Append(value protoreflect.Value) {
  4284  	valueUnwrapped := value.Message()
  4285  	concreteValue := valueUnwrapped.Interface().(*Nested4B)
  4286  	*x.list = append(*x.list, concreteValue)
  4287  }
  4288  
  4289  func (x *_Nested3B_4_list) AppendMutable() protoreflect.Value {
  4290  	v := new(Nested4B)
  4291  	*x.list = append(*x.list, v)
  4292  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  4293  }
  4294  
  4295  func (x *_Nested3B_4_list) Truncate(n int) {
  4296  	for i := n; i < len(*x.list); i++ {
  4297  		(*x.list)[i] = nil
  4298  	}
  4299  	*x.list = (*x.list)[:n]
  4300  }
  4301  
  4302  func (x *_Nested3B_4_list) NewElement() protoreflect.Value {
  4303  	v := new(Nested4B)
  4304  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  4305  }
  4306  
  4307  func (x *_Nested3B_4_list) IsValid() bool {
  4308  	return x.list != nil
  4309  }
  4310  
  4311  var (
  4312  	md_Nested3B      protoreflect.MessageDescriptor
  4313  	fd_Nested3B_id   protoreflect.FieldDescriptor
  4314  	fd_Nested3B_age  protoreflect.FieldDescriptor
  4315  	fd_Nested3B_name protoreflect.FieldDescriptor
  4316  	fd_Nested3B_b4   protoreflect.FieldDescriptor
  4317  )
  4318  
  4319  func init() {
  4320  	file_testpb_unknonwnproto_proto_init()
  4321  	md_Nested3B = File_testpb_unknonwnproto_proto.Messages().ByName("Nested3B")
  4322  	fd_Nested3B_id = md_Nested3B.Fields().ByName("id")
  4323  	fd_Nested3B_age = md_Nested3B.Fields().ByName("age")
  4324  	fd_Nested3B_name = md_Nested3B.Fields().ByName("name")
  4325  	fd_Nested3B_b4 = md_Nested3B.Fields().ByName("b4")
  4326  }
  4327  
  4328  var _ protoreflect.Message = (*fastReflection_Nested3B)(nil)
  4329  
  4330  type fastReflection_Nested3B Nested3B
  4331  
  4332  func (x *Nested3B) ProtoReflect() protoreflect.Message {
  4333  	return (*fastReflection_Nested3B)(x)
  4334  }
  4335  
  4336  func (x *Nested3B) slowProtoReflect() protoreflect.Message {
  4337  	mi := &file_testpb_unknonwnproto_proto_msgTypes[7]
  4338  	if protoimpl.UnsafeEnabled && x != nil {
  4339  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4340  		if ms.LoadMessageInfo() == nil {
  4341  			ms.StoreMessageInfo(mi)
  4342  		}
  4343  		return ms
  4344  	}
  4345  	return mi.MessageOf(x)
  4346  }
  4347  
  4348  var _fastReflection_Nested3B_messageType fastReflection_Nested3B_messageType
  4349  var _ protoreflect.MessageType = fastReflection_Nested3B_messageType{}
  4350  
  4351  type fastReflection_Nested3B_messageType struct{}
  4352  
  4353  func (x fastReflection_Nested3B_messageType) Zero() protoreflect.Message {
  4354  	return (*fastReflection_Nested3B)(nil)
  4355  }
  4356  func (x fastReflection_Nested3B_messageType) New() protoreflect.Message {
  4357  	return new(fastReflection_Nested3B)
  4358  }
  4359  func (x fastReflection_Nested3B_messageType) Descriptor() protoreflect.MessageDescriptor {
  4360  	return md_Nested3B
  4361  }
  4362  
  4363  // Descriptor returns message descriptor, which contains only the protobuf
  4364  // type information for the message.
  4365  func (x *fastReflection_Nested3B) Descriptor() protoreflect.MessageDescriptor {
  4366  	return md_Nested3B
  4367  }
  4368  
  4369  // Type returns the message type, which encapsulates both Go and protobuf
  4370  // type information. If the Go type information is not needed,
  4371  // it is recommended that the message descriptor be used instead.
  4372  func (x *fastReflection_Nested3B) Type() protoreflect.MessageType {
  4373  	return _fastReflection_Nested3B_messageType
  4374  }
  4375  
  4376  // New returns a newly allocated and mutable empty message.
  4377  func (x *fastReflection_Nested3B) New() protoreflect.Message {
  4378  	return new(fastReflection_Nested3B)
  4379  }
  4380  
  4381  // Interface unwraps the message reflection interface and
  4382  // returns the underlying ProtoMessage interface.
  4383  func (x *fastReflection_Nested3B) Interface() protoreflect.ProtoMessage {
  4384  	return (*Nested3B)(x)
  4385  }
  4386  
  4387  // Range iterates over every populated field in an undefined order,
  4388  // calling f for each field descriptor and value encountered.
  4389  // Range returns immediately if f returns false.
  4390  // While iterating, mutating operations may only be performed
  4391  // on the current field descriptor.
  4392  func (x *fastReflection_Nested3B) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  4393  	if x.Id != int32(0) {
  4394  		value := protoreflect.ValueOfInt32(x.Id)
  4395  		if !f(fd_Nested3B_id, value) {
  4396  			return
  4397  		}
  4398  	}
  4399  	if x.Age != int32(0) {
  4400  		value := protoreflect.ValueOfInt32(x.Age)
  4401  		if !f(fd_Nested3B_age, value) {
  4402  			return
  4403  		}
  4404  	}
  4405  	if x.Name != "" {
  4406  		value := protoreflect.ValueOfString(x.Name)
  4407  		if !f(fd_Nested3B_name, value) {
  4408  			return
  4409  		}
  4410  	}
  4411  	if len(x.B4) != 0 {
  4412  		value := protoreflect.ValueOfList(&_Nested3B_4_list{list: &x.B4})
  4413  		if !f(fd_Nested3B_b4, value) {
  4414  			return
  4415  		}
  4416  	}
  4417  }
  4418  
  4419  // Has reports whether a field is populated.
  4420  //
  4421  // Some fields have the property of nullability where it is possible to
  4422  // distinguish between the default value of a field and whether the field
  4423  // was explicitly populated with the default value. Singular message fields,
  4424  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  4425  // fields are populated only if explicitly set.
  4426  //
  4427  // In other cases (aside from the nullable cases above),
  4428  // a proto3 scalar field is populated if it contains a non-zero value, and
  4429  // a repeated field is populated if it is non-empty.
  4430  func (x *fastReflection_Nested3B) Has(fd protoreflect.FieldDescriptor) bool {
  4431  	switch fd.FullName() {
  4432  	case "testpb.Nested3B.id":
  4433  		return x.Id != int32(0)
  4434  	case "testpb.Nested3B.age":
  4435  		return x.Age != int32(0)
  4436  	case "testpb.Nested3B.name":
  4437  		return x.Name != ""
  4438  	case "testpb.Nested3B.b4":
  4439  		return len(x.B4) != 0
  4440  	default:
  4441  		if fd.IsExtension() {
  4442  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4443  		}
  4444  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", fd.FullName()))
  4445  	}
  4446  }
  4447  
  4448  // Clear clears the field such that a subsequent Has call reports false.
  4449  //
  4450  // Clearing an extension field clears both the extension type and value
  4451  // associated with the given field number.
  4452  //
  4453  // Clear is a mutating operation and unsafe for concurrent use.
  4454  func (x *fastReflection_Nested3B) Clear(fd protoreflect.FieldDescriptor) {
  4455  	switch fd.FullName() {
  4456  	case "testpb.Nested3B.id":
  4457  		x.Id = int32(0)
  4458  	case "testpb.Nested3B.age":
  4459  		x.Age = int32(0)
  4460  	case "testpb.Nested3B.name":
  4461  		x.Name = ""
  4462  	case "testpb.Nested3B.b4":
  4463  		x.B4 = nil
  4464  	default:
  4465  		if fd.IsExtension() {
  4466  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4467  		}
  4468  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", fd.FullName()))
  4469  	}
  4470  }
  4471  
  4472  // Get retrieves the value for a field.
  4473  //
  4474  // For unpopulated scalars, it returns the default value, where
  4475  // the default value of a bytes scalar is guaranteed to be a copy.
  4476  // For unpopulated composite types, it returns an empty, read-only view
  4477  // of the value; to obtain a mutable reference, use Mutable.
  4478  func (x *fastReflection_Nested3B) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  4479  	switch descriptor.FullName() {
  4480  	case "testpb.Nested3B.id":
  4481  		value := x.Id
  4482  		return protoreflect.ValueOfInt32(value)
  4483  	case "testpb.Nested3B.age":
  4484  		value := x.Age
  4485  		return protoreflect.ValueOfInt32(value)
  4486  	case "testpb.Nested3B.name":
  4487  		value := x.Name
  4488  		return protoreflect.ValueOfString(value)
  4489  	case "testpb.Nested3B.b4":
  4490  		if len(x.B4) == 0 {
  4491  			return protoreflect.ValueOfList(&_Nested3B_4_list{})
  4492  		}
  4493  		listValue := &_Nested3B_4_list{list: &x.B4}
  4494  		return protoreflect.ValueOfList(listValue)
  4495  	default:
  4496  		if descriptor.IsExtension() {
  4497  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4498  		}
  4499  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", descriptor.FullName()))
  4500  	}
  4501  }
  4502  
  4503  // Set stores the value for a field.
  4504  //
  4505  // For a field belonging to a oneof, it implicitly clears any other field
  4506  // that may be currently set within the same oneof.
  4507  // For extension fields, it implicitly stores the provided ExtensionType.
  4508  // When setting a composite type, it is unspecified whether the stored value
  4509  // aliases the source's memory in any way. If the composite value is an
  4510  // empty, read-only value, then it panics.
  4511  //
  4512  // Set is a mutating operation and unsafe for concurrent use.
  4513  func (x *fastReflection_Nested3B) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  4514  	switch fd.FullName() {
  4515  	case "testpb.Nested3B.id":
  4516  		x.Id = int32(value.Int())
  4517  	case "testpb.Nested3B.age":
  4518  		x.Age = int32(value.Int())
  4519  	case "testpb.Nested3B.name":
  4520  		x.Name = value.Interface().(string)
  4521  	case "testpb.Nested3B.b4":
  4522  		lv := value.List()
  4523  		clv := lv.(*_Nested3B_4_list)
  4524  		x.B4 = *clv.list
  4525  	default:
  4526  		if fd.IsExtension() {
  4527  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4528  		}
  4529  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", fd.FullName()))
  4530  	}
  4531  }
  4532  
  4533  // Mutable returns a mutable reference to a composite type.
  4534  //
  4535  // If the field is unpopulated, it may allocate a composite value.
  4536  // For a field belonging to a oneof, it implicitly clears any other field
  4537  // that may be currently set within the same oneof.
  4538  // For extension fields, it implicitly stores the provided ExtensionType
  4539  // if not already stored.
  4540  // It panics if the field does not contain a composite type.
  4541  //
  4542  // Mutable is a mutating operation and unsafe for concurrent use.
  4543  func (x *fastReflection_Nested3B) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  4544  	switch fd.FullName() {
  4545  	case "testpb.Nested3B.b4":
  4546  		if x.B4 == nil {
  4547  			x.B4 = []*Nested4B{}
  4548  		}
  4549  		value := &_Nested3B_4_list{list: &x.B4}
  4550  		return protoreflect.ValueOfList(value)
  4551  	case "testpb.Nested3B.id":
  4552  		panic(fmt.Errorf("field id of message testpb.Nested3B is not mutable"))
  4553  	case "testpb.Nested3B.age":
  4554  		panic(fmt.Errorf("field age of message testpb.Nested3B is not mutable"))
  4555  	case "testpb.Nested3B.name":
  4556  		panic(fmt.Errorf("field name of message testpb.Nested3B is not mutable"))
  4557  	default:
  4558  		if fd.IsExtension() {
  4559  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4560  		}
  4561  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", fd.FullName()))
  4562  	}
  4563  }
  4564  
  4565  // NewField returns a new value that is assignable to the field
  4566  // for the given descriptor. For scalars, this returns the default value.
  4567  // For lists, maps, and messages, this returns a new, empty, mutable value.
  4568  func (x *fastReflection_Nested3B) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  4569  	switch fd.FullName() {
  4570  	case "testpb.Nested3B.id":
  4571  		return protoreflect.ValueOfInt32(int32(0))
  4572  	case "testpb.Nested3B.age":
  4573  		return protoreflect.ValueOfInt32(int32(0))
  4574  	case "testpb.Nested3B.name":
  4575  		return protoreflect.ValueOfString("")
  4576  	case "testpb.Nested3B.b4":
  4577  		list := []*Nested4B{}
  4578  		return protoreflect.ValueOfList(&_Nested3B_4_list{list: &list})
  4579  	default:
  4580  		if fd.IsExtension() {
  4581  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested3B"))
  4582  		}
  4583  		panic(fmt.Errorf("message testpb.Nested3B does not contain field %s", fd.FullName()))
  4584  	}
  4585  }
  4586  
  4587  // WhichOneof reports which field within the oneof is populated,
  4588  // returning nil if none are populated.
  4589  // It panics if the oneof descriptor does not belong to this message.
  4590  func (x *fastReflection_Nested3B) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  4591  	switch d.FullName() {
  4592  	default:
  4593  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested3B", d.FullName()))
  4594  	}
  4595  	panic("unreachable")
  4596  }
  4597  
  4598  // GetUnknown retrieves the entire list of unknown fields.
  4599  // The caller may only mutate the contents of the RawFields
  4600  // if the mutated bytes are stored back into the message with SetUnknown.
  4601  func (x *fastReflection_Nested3B) GetUnknown() protoreflect.RawFields {
  4602  	return x.unknownFields
  4603  }
  4604  
  4605  // SetUnknown stores an entire list of unknown fields.
  4606  // The raw fields must be syntactically valid according to the wire format.
  4607  // An implementation may panic if this is not the case.
  4608  // Once stored, the caller must not mutate the content of the RawFields.
  4609  // An empty RawFields may be passed to clear the fields.
  4610  //
  4611  // SetUnknown is a mutating operation and unsafe for concurrent use.
  4612  func (x *fastReflection_Nested3B) SetUnknown(fields protoreflect.RawFields) {
  4613  	x.unknownFields = fields
  4614  }
  4615  
  4616  // IsValid reports whether the message is valid.
  4617  //
  4618  // An invalid message is an empty, read-only value.
  4619  //
  4620  // An invalid message often corresponds to a nil pointer of the concrete
  4621  // message type, but the details are implementation dependent.
  4622  // Validity is not part of the protobuf data model, and may not
  4623  // be preserved in marshaling or other operations.
  4624  func (x *fastReflection_Nested3B) IsValid() bool {
  4625  	return x != nil
  4626  }
  4627  
  4628  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  4629  // This method may return nil.
  4630  //
  4631  // The returned methods type is identical to
  4632  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  4633  // Consult the protoiface package documentation for details.
  4634  func (x *fastReflection_Nested3B) ProtoMethods() *protoiface.Methods {
  4635  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  4636  		x := input.Message.Interface().(*Nested3B)
  4637  		if x == nil {
  4638  			return protoiface.SizeOutput{
  4639  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4640  				Size:              0,
  4641  			}
  4642  		}
  4643  		options := runtime.SizeInputToOptions(input)
  4644  		_ = options
  4645  		var n int
  4646  		var l int
  4647  		_ = l
  4648  		if x.Id != 0 {
  4649  			n += 1 + runtime.Sov(uint64(x.Id))
  4650  		}
  4651  		if x.Age != 0 {
  4652  			n += 1 + runtime.Sov(uint64(x.Age))
  4653  		}
  4654  		l = len(x.Name)
  4655  		if l > 0 {
  4656  			n += 1 + l + runtime.Sov(uint64(l))
  4657  		}
  4658  		if len(x.B4) > 0 {
  4659  			for _, e := range x.B4 {
  4660  				l = options.Size(e)
  4661  				n += 1 + l + runtime.Sov(uint64(l))
  4662  			}
  4663  		}
  4664  		if x.unknownFields != nil {
  4665  			n += len(x.unknownFields)
  4666  		}
  4667  		return protoiface.SizeOutput{
  4668  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4669  			Size:              n,
  4670  		}
  4671  	}
  4672  
  4673  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  4674  		x := input.Message.Interface().(*Nested3B)
  4675  		if x == nil {
  4676  			return protoiface.MarshalOutput{
  4677  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4678  				Buf:               input.Buf,
  4679  			}, nil
  4680  		}
  4681  		options := runtime.MarshalInputToOptions(input)
  4682  		_ = options
  4683  		size := options.Size(x)
  4684  		dAtA := make([]byte, size)
  4685  		i := len(dAtA)
  4686  		_ = i
  4687  		var l int
  4688  		_ = l
  4689  		if x.unknownFields != nil {
  4690  			i -= len(x.unknownFields)
  4691  			copy(dAtA[i:], x.unknownFields)
  4692  		}
  4693  		if len(x.B4) > 0 {
  4694  			for iNdEx := len(x.B4) - 1; iNdEx >= 0; iNdEx-- {
  4695  				encoded, err := options.Marshal(x.B4[iNdEx])
  4696  				if err != nil {
  4697  					return protoiface.MarshalOutput{
  4698  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4699  						Buf:               input.Buf,
  4700  					}, err
  4701  				}
  4702  				i -= len(encoded)
  4703  				copy(dAtA[i:], encoded)
  4704  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  4705  				i--
  4706  				dAtA[i] = 0x22
  4707  			}
  4708  		}
  4709  		if len(x.Name) > 0 {
  4710  			i -= len(x.Name)
  4711  			copy(dAtA[i:], x.Name)
  4712  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  4713  			i--
  4714  			dAtA[i] = 0x1a
  4715  		}
  4716  		if x.Age != 0 {
  4717  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Age))
  4718  			i--
  4719  			dAtA[i] = 0x10
  4720  		}
  4721  		if x.Id != 0 {
  4722  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  4723  			i--
  4724  			dAtA[i] = 0x8
  4725  		}
  4726  		if input.Buf != nil {
  4727  			input.Buf = append(input.Buf, dAtA...)
  4728  		} else {
  4729  			input.Buf = dAtA
  4730  		}
  4731  		return protoiface.MarshalOutput{
  4732  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4733  			Buf:               input.Buf,
  4734  		}, nil
  4735  	}
  4736  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  4737  		x := input.Message.Interface().(*Nested3B)
  4738  		if x == nil {
  4739  			return protoiface.UnmarshalOutput{
  4740  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4741  				Flags:             input.Flags,
  4742  			}, nil
  4743  		}
  4744  		options := runtime.UnmarshalInputToOptions(input)
  4745  		_ = options
  4746  		dAtA := input.Buf
  4747  		l := len(dAtA)
  4748  		iNdEx := 0
  4749  		for iNdEx < l {
  4750  			preIndex := iNdEx
  4751  			var wire uint64
  4752  			for shift := uint(0); ; shift += 7 {
  4753  				if shift >= 64 {
  4754  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4755  				}
  4756  				if iNdEx >= l {
  4757  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4758  				}
  4759  				b := dAtA[iNdEx]
  4760  				iNdEx++
  4761  				wire |= uint64(b&0x7F) << shift
  4762  				if b < 0x80 {
  4763  					break
  4764  				}
  4765  			}
  4766  			fieldNum := int32(wire >> 3)
  4767  			wireType := int(wire & 0x7)
  4768  			if wireType == 4 {
  4769  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested3B: wiretype end group for non-group")
  4770  			}
  4771  			if fieldNum <= 0 {
  4772  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested3B: illegal tag %d (wire type %d)", fieldNum, wire)
  4773  			}
  4774  			switch fieldNum {
  4775  			case 1:
  4776  				if wireType != 0 {
  4777  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  4778  				}
  4779  				x.Id = 0
  4780  				for shift := uint(0); ; shift += 7 {
  4781  					if shift >= 64 {
  4782  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4783  					}
  4784  					if iNdEx >= l {
  4785  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4786  					}
  4787  					b := dAtA[iNdEx]
  4788  					iNdEx++
  4789  					x.Id |= int32(b&0x7F) << shift
  4790  					if b < 0x80 {
  4791  						break
  4792  					}
  4793  				}
  4794  			case 2:
  4795  				if wireType != 0 {
  4796  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  4797  				}
  4798  				x.Age = 0
  4799  				for shift := uint(0); ; shift += 7 {
  4800  					if shift >= 64 {
  4801  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4802  					}
  4803  					if iNdEx >= l {
  4804  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4805  					}
  4806  					b := dAtA[iNdEx]
  4807  					iNdEx++
  4808  					x.Age |= int32(b&0x7F) << shift
  4809  					if b < 0x80 {
  4810  						break
  4811  					}
  4812  				}
  4813  			case 3:
  4814  				if wireType != 2 {
  4815  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  4816  				}
  4817  				var stringLen uint64
  4818  				for shift := uint(0); ; shift += 7 {
  4819  					if shift >= 64 {
  4820  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4821  					}
  4822  					if iNdEx >= l {
  4823  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4824  					}
  4825  					b := dAtA[iNdEx]
  4826  					iNdEx++
  4827  					stringLen |= uint64(b&0x7F) << shift
  4828  					if b < 0x80 {
  4829  						break
  4830  					}
  4831  				}
  4832  				intStringLen := int(stringLen)
  4833  				if intStringLen < 0 {
  4834  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4835  				}
  4836  				postIndex := iNdEx + intStringLen
  4837  				if postIndex < 0 {
  4838  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4839  				}
  4840  				if postIndex > l {
  4841  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4842  				}
  4843  				x.Name = string(dAtA[iNdEx:postIndex])
  4844  				iNdEx = postIndex
  4845  			case 4:
  4846  				if wireType != 2 {
  4847  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B4", wireType)
  4848  				}
  4849  				var msglen int
  4850  				for shift := uint(0); ; shift += 7 {
  4851  					if shift >= 64 {
  4852  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  4853  					}
  4854  					if iNdEx >= l {
  4855  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4856  					}
  4857  					b := dAtA[iNdEx]
  4858  					iNdEx++
  4859  					msglen |= int(b&0x7F) << shift
  4860  					if b < 0x80 {
  4861  						break
  4862  					}
  4863  				}
  4864  				if msglen < 0 {
  4865  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4866  				}
  4867  				postIndex := iNdEx + msglen
  4868  				if postIndex < 0 {
  4869  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4870  				}
  4871  				if postIndex > l {
  4872  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4873  				}
  4874  				x.B4 = append(x.B4, &Nested4B{})
  4875  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B4[len(x.B4)-1]); err != nil {
  4876  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  4877  				}
  4878  				iNdEx = postIndex
  4879  			default:
  4880  				iNdEx = preIndex
  4881  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  4882  				if err != nil {
  4883  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  4884  				}
  4885  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  4886  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  4887  				}
  4888  				if (iNdEx + skippy) > l {
  4889  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4890  				}
  4891  				if !options.DiscardUnknown {
  4892  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  4893  				}
  4894  				iNdEx += skippy
  4895  			}
  4896  		}
  4897  
  4898  		if iNdEx > l {
  4899  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  4900  		}
  4901  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  4902  	}
  4903  	return &protoiface.Methods{
  4904  		NoUnkeyedLiterals: struct{}{},
  4905  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  4906  		Size:              size,
  4907  		Marshal:           marshal,
  4908  		Unmarshal:         unmarshal,
  4909  		Merge:             nil,
  4910  		CheckInitialized:  nil,
  4911  	}
  4912  }
  4913  
  4914  var (
  4915  	md_Nested2B        protoreflect.MessageDescriptor
  4916  	fd_Nested2B_id     protoreflect.FieldDescriptor
  4917  	fd_Nested2B_fee    protoreflect.FieldDescriptor
  4918  	fd_Nested2B_nested protoreflect.FieldDescriptor
  4919  	fd_Nested2B_route  protoreflect.FieldDescriptor
  4920  )
  4921  
  4922  func init() {
  4923  	file_testpb_unknonwnproto_proto_init()
  4924  	md_Nested2B = File_testpb_unknonwnproto_proto.Messages().ByName("Nested2B")
  4925  	fd_Nested2B_id = md_Nested2B.Fields().ByName("id")
  4926  	fd_Nested2B_fee = md_Nested2B.Fields().ByName("fee")
  4927  	fd_Nested2B_nested = md_Nested2B.Fields().ByName("nested")
  4928  	fd_Nested2B_route = md_Nested2B.Fields().ByName("route")
  4929  }
  4930  
  4931  var _ protoreflect.Message = (*fastReflection_Nested2B)(nil)
  4932  
  4933  type fastReflection_Nested2B Nested2B
  4934  
  4935  func (x *Nested2B) ProtoReflect() protoreflect.Message {
  4936  	return (*fastReflection_Nested2B)(x)
  4937  }
  4938  
  4939  func (x *Nested2B) slowProtoReflect() protoreflect.Message {
  4940  	mi := &file_testpb_unknonwnproto_proto_msgTypes[8]
  4941  	if protoimpl.UnsafeEnabled && x != nil {
  4942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4943  		if ms.LoadMessageInfo() == nil {
  4944  			ms.StoreMessageInfo(mi)
  4945  		}
  4946  		return ms
  4947  	}
  4948  	return mi.MessageOf(x)
  4949  }
  4950  
  4951  var _fastReflection_Nested2B_messageType fastReflection_Nested2B_messageType
  4952  var _ protoreflect.MessageType = fastReflection_Nested2B_messageType{}
  4953  
  4954  type fastReflection_Nested2B_messageType struct{}
  4955  
  4956  func (x fastReflection_Nested2B_messageType) Zero() protoreflect.Message {
  4957  	return (*fastReflection_Nested2B)(nil)
  4958  }
  4959  func (x fastReflection_Nested2B_messageType) New() protoreflect.Message {
  4960  	return new(fastReflection_Nested2B)
  4961  }
  4962  func (x fastReflection_Nested2B_messageType) Descriptor() protoreflect.MessageDescriptor {
  4963  	return md_Nested2B
  4964  }
  4965  
  4966  // Descriptor returns message descriptor, which contains only the protobuf
  4967  // type information for the message.
  4968  func (x *fastReflection_Nested2B) Descriptor() protoreflect.MessageDescriptor {
  4969  	return md_Nested2B
  4970  }
  4971  
  4972  // Type returns the message type, which encapsulates both Go and protobuf
  4973  // type information. If the Go type information is not needed,
  4974  // it is recommended that the message descriptor be used instead.
  4975  func (x *fastReflection_Nested2B) Type() protoreflect.MessageType {
  4976  	return _fastReflection_Nested2B_messageType
  4977  }
  4978  
  4979  // New returns a newly allocated and mutable empty message.
  4980  func (x *fastReflection_Nested2B) New() protoreflect.Message {
  4981  	return new(fastReflection_Nested2B)
  4982  }
  4983  
  4984  // Interface unwraps the message reflection interface and
  4985  // returns the underlying ProtoMessage interface.
  4986  func (x *fastReflection_Nested2B) Interface() protoreflect.ProtoMessage {
  4987  	return (*Nested2B)(x)
  4988  }
  4989  
  4990  // Range iterates over every populated field in an undefined order,
  4991  // calling f for each field descriptor and value encountered.
  4992  // Range returns immediately if f returns false.
  4993  // While iterating, mutating operations may only be performed
  4994  // on the current field descriptor.
  4995  func (x *fastReflection_Nested2B) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  4996  	if x.Id != int32(0) {
  4997  		value := protoreflect.ValueOfInt32(x.Id)
  4998  		if !f(fd_Nested2B_id, value) {
  4999  			return
  5000  		}
  5001  	}
  5002  	if x.Fee != float64(0) || math.Signbit(x.Fee) {
  5003  		value := protoreflect.ValueOfFloat64(x.Fee)
  5004  		if !f(fd_Nested2B_fee, value) {
  5005  			return
  5006  		}
  5007  	}
  5008  	if x.Nested != nil {
  5009  		value := protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  5010  		if !f(fd_Nested2B_nested, value) {
  5011  			return
  5012  		}
  5013  	}
  5014  	if x.Route != "" {
  5015  		value := protoreflect.ValueOfString(x.Route)
  5016  		if !f(fd_Nested2B_route, value) {
  5017  			return
  5018  		}
  5019  	}
  5020  }
  5021  
  5022  // Has reports whether a field is populated.
  5023  //
  5024  // Some fields have the property of nullability where it is possible to
  5025  // distinguish between the default value of a field and whether the field
  5026  // was explicitly populated with the default value. Singular message fields,
  5027  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  5028  // fields are populated only if explicitly set.
  5029  //
  5030  // In other cases (aside from the nullable cases above),
  5031  // a proto3 scalar field is populated if it contains a non-zero value, and
  5032  // a repeated field is populated if it is non-empty.
  5033  func (x *fastReflection_Nested2B) Has(fd protoreflect.FieldDescriptor) bool {
  5034  	switch fd.FullName() {
  5035  	case "testpb.Nested2B.id":
  5036  		return x.Id != int32(0)
  5037  	case "testpb.Nested2B.fee":
  5038  		return x.Fee != float64(0) || math.Signbit(x.Fee)
  5039  	case "testpb.Nested2B.nested":
  5040  		return x.Nested != nil
  5041  	case "testpb.Nested2B.route":
  5042  		return x.Route != ""
  5043  	default:
  5044  		if fd.IsExtension() {
  5045  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5046  		}
  5047  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", fd.FullName()))
  5048  	}
  5049  }
  5050  
  5051  // Clear clears the field such that a subsequent Has call reports false.
  5052  //
  5053  // Clearing an extension field clears both the extension type and value
  5054  // associated with the given field number.
  5055  //
  5056  // Clear is a mutating operation and unsafe for concurrent use.
  5057  func (x *fastReflection_Nested2B) Clear(fd protoreflect.FieldDescriptor) {
  5058  	switch fd.FullName() {
  5059  	case "testpb.Nested2B.id":
  5060  		x.Id = int32(0)
  5061  	case "testpb.Nested2B.fee":
  5062  		x.Fee = float64(0)
  5063  	case "testpb.Nested2B.nested":
  5064  		x.Nested = nil
  5065  	case "testpb.Nested2B.route":
  5066  		x.Route = ""
  5067  	default:
  5068  		if fd.IsExtension() {
  5069  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5070  		}
  5071  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", fd.FullName()))
  5072  	}
  5073  }
  5074  
  5075  // Get retrieves the value for a field.
  5076  //
  5077  // For unpopulated scalars, it returns the default value, where
  5078  // the default value of a bytes scalar is guaranteed to be a copy.
  5079  // For unpopulated composite types, it returns an empty, read-only view
  5080  // of the value; to obtain a mutable reference, use Mutable.
  5081  func (x *fastReflection_Nested2B) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  5082  	switch descriptor.FullName() {
  5083  	case "testpb.Nested2B.id":
  5084  		value := x.Id
  5085  		return protoreflect.ValueOfInt32(value)
  5086  	case "testpb.Nested2B.fee":
  5087  		value := x.Fee
  5088  		return protoreflect.ValueOfFloat64(value)
  5089  	case "testpb.Nested2B.nested":
  5090  		value := x.Nested
  5091  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  5092  	case "testpb.Nested2B.route":
  5093  		value := x.Route
  5094  		return protoreflect.ValueOfString(value)
  5095  	default:
  5096  		if descriptor.IsExtension() {
  5097  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5098  		}
  5099  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", descriptor.FullName()))
  5100  	}
  5101  }
  5102  
  5103  // Set stores the value for a field.
  5104  //
  5105  // For a field belonging to a oneof, it implicitly clears any other field
  5106  // that may be currently set within the same oneof.
  5107  // For extension fields, it implicitly stores the provided ExtensionType.
  5108  // When setting a composite type, it is unspecified whether the stored value
  5109  // aliases the source's memory in any way. If the composite value is an
  5110  // empty, read-only value, then it panics.
  5111  //
  5112  // Set is a mutating operation and unsafe for concurrent use.
  5113  func (x *fastReflection_Nested2B) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  5114  	switch fd.FullName() {
  5115  	case "testpb.Nested2B.id":
  5116  		x.Id = int32(value.Int())
  5117  	case "testpb.Nested2B.fee":
  5118  		x.Fee = value.Float()
  5119  	case "testpb.Nested2B.nested":
  5120  		x.Nested = value.Message().Interface().(*Nested3B)
  5121  	case "testpb.Nested2B.route":
  5122  		x.Route = value.Interface().(string)
  5123  	default:
  5124  		if fd.IsExtension() {
  5125  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5126  		}
  5127  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", fd.FullName()))
  5128  	}
  5129  }
  5130  
  5131  // Mutable returns a mutable reference to a composite type.
  5132  //
  5133  // If the field is unpopulated, it may allocate a composite value.
  5134  // For a field belonging to a oneof, it implicitly clears any other field
  5135  // that may be currently set within the same oneof.
  5136  // For extension fields, it implicitly stores the provided ExtensionType
  5137  // if not already stored.
  5138  // It panics if the field does not contain a composite type.
  5139  //
  5140  // Mutable is a mutating operation and unsafe for concurrent use.
  5141  func (x *fastReflection_Nested2B) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  5142  	switch fd.FullName() {
  5143  	case "testpb.Nested2B.nested":
  5144  		if x.Nested == nil {
  5145  			x.Nested = new(Nested3B)
  5146  		}
  5147  		return protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  5148  	case "testpb.Nested2B.id":
  5149  		panic(fmt.Errorf("field id of message testpb.Nested2B is not mutable"))
  5150  	case "testpb.Nested2B.fee":
  5151  		panic(fmt.Errorf("field fee of message testpb.Nested2B is not mutable"))
  5152  	case "testpb.Nested2B.route":
  5153  		panic(fmt.Errorf("field route of message testpb.Nested2B is not mutable"))
  5154  	default:
  5155  		if fd.IsExtension() {
  5156  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5157  		}
  5158  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", fd.FullName()))
  5159  	}
  5160  }
  5161  
  5162  // NewField returns a new value that is assignable to the field
  5163  // for the given descriptor. For scalars, this returns the default value.
  5164  // For lists, maps, and messages, this returns a new, empty, mutable value.
  5165  func (x *fastReflection_Nested2B) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  5166  	switch fd.FullName() {
  5167  	case "testpb.Nested2B.id":
  5168  		return protoreflect.ValueOfInt32(int32(0))
  5169  	case "testpb.Nested2B.fee":
  5170  		return protoreflect.ValueOfFloat64(float64(0))
  5171  	case "testpb.Nested2B.nested":
  5172  		m := new(Nested3B)
  5173  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  5174  	case "testpb.Nested2B.route":
  5175  		return protoreflect.ValueOfString("")
  5176  	default:
  5177  		if fd.IsExtension() {
  5178  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested2B"))
  5179  		}
  5180  		panic(fmt.Errorf("message testpb.Nested2B does not contain field %s", fd.FullName()))
  5181  	}
  5182  }
  5183  
  5184  // WhichOneof reports which field within the oneof is populated,
  5185  // returning nil if none are populated.
  5186  // It panics if the oneof descriptor does not belong to this message.
  5187  func (x *fastReflection_Nested2B) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  5188  	switch d.FullName() {
  5189  	default:
  5190  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested2B", d.FullName()))
  5191  	}
  5192  	panic("unreachable")
  5193  }
  5194  
  5195  // GetUnknown retrieves the entire list of unknown fields.
  5196  // The caller may only mutate the contents of the RawFields
  5197  // if the mutated bytes are stored back into the message with SetUnknown.
  5198  func (x *fastReflection_Nested2B) GetUnknown() protoreflect.RawFields {
  5199  	return x.unknownFields
  5200  }
  5201  
  5202  // SetUnknown stores an entire list of unknown fields.
  5203  // The raw fields must be syntactically valid according to the wire format.
  5204  // An implementation may panic if this is not the case.
  5205  // Once stored, the caller must not mutate the content of the RawFields.
  5206  // An empty RawFields may be passed to clear the fields.
  5207  //
  5208  // SetUnknown is a mutating operation and unsafe for concurrent use.
  5209  func (x *fastReflection_Nested2B) SetUnknown(fields protoreflect.RawFields) {
  5210  	x.unknownFields = fields
  5211  }
  5212  
  5213  // IsValid reports whether the message is valid.
  5214  //
  5215  // An invalid message is an empty, read-only value.
  5216  //
  5217  // An invalid message often corresponds to a nil pointer of the concrete
  5218  // message type, but the details are implementation dependent.
  5219  // Validity is not part of the protobuf data model, and may not
  5220  // be preserved in marshaling or other operations.
  5221  func (x *fastReflection_Nested2B) IsValid() bool {
  5222  	return x != nil
  5223  }
  5224  
  5225  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  5226  // This method may return nil.
  5227  //
  5228  // The returned methods type is identical to
  5229  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  5230  // Consult the protoiface package documentation for details.
  5231  func (x *fastReflection_Nested2B) ProtoMethods() *protoiface.Methods {
  5232  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  5233  		x := input.Message.Interface().(*Nested2B)
  5234  		if x == nil {
  5235  			return protoiface.SizeOutput{
  5236  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5237  				Size:              0,
  5238  			}
  5239  		}
  5240  		options := runtime.SizeInputToOptions(input)
  5241  		_ = options
  5242  		var n int
  5243  		var l int
  5244  		_ = l
  5245  		if x.Id != 0 {
  5246  			n += 1 + runtime.Sov(uint64(x.Id))
  5247  		}
  5248  		if x.Fee != 0 || math.Signbit(x.Fee) {
  5249  			n += 9
  5250  		}
  5251  		if x.Nested != nil {
  5252  			l = options.Size(x.Nested)
  5253  			n += 1 + l + runtime.Sov(uint64(l))
  5254  		}
  5255  		l = len(x.Route)
  5256  		if l > 0 {
  5257  			n += 1 + l + runtime.Sov(uint64(l))
  5258  		}
  5259  		if x.unknownFields != nil {
  5260  			n += len(x.unknownFields)
  5261  		}
  5262  		return protoiface.SizeOutput{
  5263  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5264  			Size:              n,
  5265  		}
  5266  	}
  5267  
  5268  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  5269  		x := input.Message.Interface().(*Nested2B)
  5270  		if x == nil {
  5271  			return protoiface.MarshalOutput{
  5272  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5273  				Buf:               input.Buf,
  5274  			}, nil
  5275  		}
  5276  		options := runtime.MarshalInputToOptions(input)
  5277  		_ = options
  5278  		size := options.Size(x)
  5279  		dAtA := make([]byte, size)
  5280  		i := len(dAtA)
  5281  		_ = i
  5282  		var l int
  5283  		_ = l
  5284  		if x.unknownFields != nil {
  5285  			i -= len(x.unknownFields)
  5286  			copy(dAtA[i:], x.unknownFields)
  5287  		}
  5288  		if len(x.Route) > 0 {
  5289  			i -= len(x.Route)
  5290  			copy(dAtA[i:], x.Route)
  5291  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Route)))
  5292  			i--
  5293  			dAtA[i] = 0x22
  5294  		}
  5295  		if x.Nested != nil {
  5296  			encoded, err := options.Marshal(x.Nested)
  5297  			if err != nil {
  5298  				return protoiface.MarshalOutput{
  5299  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5300  					Buf:               input.Buf,
  5301  				}, err
  5302  			}
  5303  			i -= len(encoded)
  5304  			copy(dAtA[i:], encoded)
  5305  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5306  			i--
  5307  			dAtA[i] = 0x1a
  5308  		}
  5309  		if x.Fee != 0 || math.Signbit(x.Fee) {
  5310  			i -= 8
  5311  			binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(x.Fee))))
  5312  			i--
  5313  			dAtA[i] = 0x11
  5314  		}
  5315  		if x.Id != 0 {
  5316  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  5317  			i--
  5318  			dAtA[i] = 0x8
  5319  		}
  5320  		if input.Buf != nil {
  5321  			input.Buf = append(input.Buf, dAtA...)
  5322  		} else {
  5323  			input.Buf = dAtA
  5324  		}
  5325  		return protoiface.MarshalOutput{
  5326  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5327  			Buf:               input.Buf,
  5328  		}, nil
  5329  	}
  5330  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  5331  		x := input.Message.Interface().(*Nested2B)
  5332  		if x == nil {
  5333  			return protoiface.UnmarshalOutput{
  5334  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5335  				Flags:             input.Flags,
  5336  			}, nil
  5337  		}
  5338  		options := runtime.UnmarshalInputToOptions(input)
  5339  		_ = options
  5340  		dAtA := input.Buf
  5341  		l := len(dAtA)
  5342  		iNdEx := 0
  5343  		for iNdEx < l {
  5344  			preIndex := iNdEx
  5345  			var wire uint64
  5346  			for shift := uint(0); ; shift += 7 {
  5347  				if shift >= 64 {
  5348  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5349  				}
  5350  				if iNdEx >= l {
  5351  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5352  				}
  5353  				b := dAtA[iNdEx]
  5354  				iNdEx++
  5355  				wire |= uint64(b&0x7F) << shift
  5356  				if b < 0x80 {
  5357  					break
  5358  				}
  5359  			}
  5360  			fieldNum := int32(wire >> 3)
  5361  			wireType := int(wire & 0x7)
  5362  			if wireType == 4 {
  5363  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested2B: wiretype end group for non-group")
  5364  			}
  5365  			if fieldNum <= 0 {
  5366  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested2B: illegal tag %d (wire type %d)", fieldNum, wire)
  5367  			}
  5368  			switch fieldNum {
  5369  			case 1:
  5370  				if wireType != 0 {
  5371  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  5372  				}
  5373  				x.Id = 0
  5374  				for shift := uint(0); ; shift += 7 {
  5375  					if shift >= 64 {
  5376  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5377  					}
  5378  					if iNdEx >= l {
  5379  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5380  					}
  5381  					b := dAtA[iNdEx]
  5382  					iNdEx++
  5383  					x.Id |= int32(b&0x7F) << shift
  5384  					if b < 0x80 {
  5385  						break
  5386  					}
  5387  				}
  5388  			case 2:
  5389  				if wireType != 1 {
  5390  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
  5391  				}
  5392  				var v uint64
  5393  				if (iNdEx + 8) > l {
  5394  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5395  				}
  5396  				v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  5397  				iNdEx += 8
  5398  				x.Fee = float64(math.Float64frombits(v))
  5399  			case 3:
  5400  				if wireType != 2 {
  5401  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  5402  				}
  5403  				var msglen int
  5404  				for shift := uint(0); ; shift += 7 {
  5405  					if shift >= 64 {
  5406  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5407  					}
  5408  					if iNdEx >= l {
  5409  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5410  					}
  5411  					b := dAtA[iNdEx]
  5412  					iNdEx++
  5413  					msglen |= int(b&0x7F) << shift
  5414  					if b < 0x80 {
  5415  						break
  5416  					}
  5417  				}
  5418  				if msglen < 0 {
  5419  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5420  				}
  5421  				postIndex := iNdEx + msglen
  5422  				if postIndex < 0 {
  5423  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5424  				}
  5425  				if postIndex > l {
  5426  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5427  				}
  5428  				if x.Nested == nil {
  5429  					x.Nested = &Nested3B{}
  5430  				}
  5431  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Nested); err != nil {
  5432  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  5433  				}
  5434  				iNdEx = postIndex
  5435  			case 4:
  5436  				if wireType != 2 {
  5437  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
  5438  				}
  5439  				var stringLen uint64
  5440  				for shift := uint(0); ; shift += 7 {
  5441  					if shift >= 64 {
  5442  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5443  					}
  5444  					if iNdEx >= l {
  5445  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5446  					}
  5447  					b := dAtA[iNdEx]
  5448  					iNdEx++
  5449  					stringLen |= uint64(b&0x7F) << shift
  5450  					if b < 0x80 {
  5451  						break
  5452  					}
  5453  				}
  5454  				intStringLen := int(stringLen)
  5455  				if intStringLen < 0 {
  5456  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5457  				}
  5458  				postIndex := iNdEx + intStringLen
  5459  				if postIndex < 0 {
  5460  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5461  				}
  5462  				if postIndex > l {
  5463  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5464  				}
  5465  				x.Route = string(dAtA[iNdEx:postIndex])
  5466  				iNdEx = postIndex
  5467  			default:
  5468  				iNdEx = preIndex
  5469  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  5470  				if err != nil {
  5471  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  5472  				}
  5473  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  5474  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5475  				}
  5476  				if (iNdEx + skippy) > l {
  5477  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5478  				}
  5479  				if !options.DiscardUnknown {
  5480  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  5481  				}
  5482  				iNdEx += skippy
  5483  			}
  5484  		}
  5485  
  5486  		if iNdEx > l {
  5487  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5488  		}
  5489  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  5490  	}
  5491  	return &protoiface.Methods{
  5492  		NoUnkeyedLiterals: struct{}{},
  5493  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  5494  		Size:              size,
  5495  		Marshal:           marshal,
  5496  		Unmarshal:         unmarshal,
  5497  		Merge:             nil,
  5498  		CheckInitialized:  nil,
  5499  	}
  5500  }
  5501  
  5502  var (
  5503  	md_Nested1B        protoreflect.MessageDescriptor
  5504  	fd_Nested1B_id     protoreflect.FieldDescriptor
  5505  	fd_Nested1B_nested protoreflect.FieldDescriptor
  5506  	fd_Nested1B_age    protoreflect.FieldDescriptor
  5507  )
  5508  
  5509  func init() {
  5510  	file_testpb_unknonwnproto_proto_init()
  5511  	md_Nested1B = File_testpb_unknonwnproto_proto.Messages().ByName("Nested1B")
  5512  	fd_Nested1B_id = md_Nested1B.Fields().ByName("id")
  5513  	fd_Nested1B_nested = md_Nested1B.Fields().ByName("nested")
  5514  	fd_Nested1B_age = md_Nested1B.Fields().ByName("age")
  5515  }
  5516  
  5517  var _ protoreflect.Message = (*fastReflection_Nested1B)(nil)
  5518  
  5519  type fastReflection_Nested1B Nested1B
  5520  
  5521  func (x *Nested1B) ProtoReflect() protoreflect.Message {
  5522  	return (*fastReflection_Nested1B)(x)
  5523  }
  5524  
  5525  func (x *Nested1B) slowProtoReflect() protoreflect.Message {
  5526  	mi := &file_testpb_unknonwnproto_proto_msgTypes[9]
  5527  	if protoimpl.UnsafeEnabled && x != nil {
  5528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5529  		if ms.LoadMessageInfo() == nil {
  5530  			ms.StoreMessageInfo(mi)
  5531  		}
  5532  		return ms
  5533  	}
  5534  	return mi.MessageOf(x)
  5535  }
  5536  
  5537  var _fastReflection_Nested1B_messageType fastReflection_Nested1B_messageType
  5538  var _ protoreflect.MessageType = fastReflection_Nested1B_messageType{}
  5539  
  5540  type fastReflection_Nested1B_messageType struct{}
  5541  
  5542  func (x fastReflection_Nested1B_messageType) Zero() protoreflect.Message {
  5543  	return (*fastReflection_Nested1B)(nil)
  5544  }
  5545  func (x fastReflection_Nested1B_messageType) New() protoreflect.Message {
  5546  	return new(fastReflection_Nested1B)
  5547  }
  5548  func (x fastReflection_Nested1B_messageType) Descriptor() protoreflect.MessageDescriptor {
  5549  	return md_Nested1B
  5550  }
  5551  
  5552  // Descriptor returns message descriptor, which contains only the protobuf
  5553  // type information for the message.
  5554  func (x *fastReflection_Nested1B) Descriptor() protoreflect.MessageDescriptor {
  5555  	return md_Nested1B
  5556  }
  5557  
  5558  // Type returns the message type, which encapsulates both Go and protobuf
  5559  // type information. If the Go type information is not needed,
  5560  // it is recommended that the message descriptor be used instead.
  5561  func (x *fastReflection_Nested1B) Type() protoreflect.MessageType {
  5562  	return _fastReflection_Nested1B_messageType
  5563  }
  5564  
  5565  // New returns a newly allocated and mutable empty message.
  5566  func (x *fastReflection_Nested1B) New() protoreflect.Message {
  5567  	return new(fastReflection_Nested1B)
  5568  }
  5569  
  5570  // Interface unwraps the message reflection interface and
  5571  // returns the underlying ProtoMessage interface.
  5572  func (x *fastReflection_Nested1B) Interface() protoreflect.ProtoMessage {
  5573  	return (*Nested1B)(x)
  5574  }
  5575  
  5576  // Range iterates over every populated field in an undefined order,
  5577  // calling f for each field descriptor and value encountered.
  5578  // Range returns immediately if f returns false.
  5579  // While iterating, mutating operations may only be performed
  5580  // on the current field descriptor.
  5581  func (x *fastReflection_Nested1B) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  5582  	if x.Id != int32(0) {
  5583  		value := protoreflect.ValueOfInt32(x.Id)
  5584  		if !f(fd_Nested1B_id, value) {
  5585  			return
  5586  		}
  5587  	}
  5588  	if x.Nested != nil {
  5589  		value := protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  5590  		if !f(fd_Nested1B_nested, value) {
  5591  			return
  5592  		}
  5593  	}
  5594  	if x.Age != int32(0) {
  5595  		value := protoreflect.ValueOfInt32(x.Age)
  5596  		if !f(fd_Nested1B_age, value) {
  5597  			return
  5598  		}
  5599  	}
  5600  }
  5601  
  5602  // Has reports whether a field is populated.
  5603  //
  5604  // Some fields have the property of nullability where it is possible to
  5605  // distinguish between the default value of a field and whether the field
  5606  // was explicitly populated with the default value. Singular message fields,
  5607  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  5608  // fields are populated only if explicitly set.
  5609  //
  5610  // In other cases (aside from the nullable cases above),
  5611  // a proto3 scalar field is populated if it contains a non-zero value, and
  5612  // a repeated field is populated if it is non-empty.
  5613  func (x *fastReflection_Nested1B) Has(fd protoreflect.FieldDescriptor) bool {
  5614  	switch fd.FullName() {
  5615  	case "testpb.Nested1B.id":
  5616  		return x.Id != int32(0)
  5617  	case "testpb.Nested1B.nested":
  5618  		return x.Nested != nil
  5619  	case "testpb.Nested1B.age":
  5620  		return x.Age != int32(0)
  5621  	default:
  5622  		if fd.IsExtension() {
  5623  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5624  		}
  5625  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", fd.FullName()))
  5626  	}
  5627  }
  5628  
  5629  // Clear clears the field such that a subsequent Has call reports false.
  5630  //
  5631  // Clearing an extension field clears both the extension type and value
  5632  // associated with the given field number.
  5633  //
  5634  // Clear is a mutating operation and unsafe for concurrent use.
  5635  func (x *fastReflection_Nested1B) Clear(fd protoreflect.FieldDescriptor) {
  5636  	switch fd.FullName() {
  5637  	case "testpb.Nested1B.id":
  5638  		x.Id = int32(0)
  5639  	case "testpb.Nested1B.nested":
  5640  		x.Nested = nil
  5641  	case "testpb.Nested1B.age":
  5642  		x.Age = int32(0)
  5643  	default:
  5644  		if fd.IsExtension() {
  5645  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5646  		}
  5647  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", fd.FullName()))
  5648  	}
  5649  }
  5650  
  5651  // Get retrieves the value for a field.
  5652  //
  5653  // For unpopulated scalars, it returns the default value, where
  5654  // the default value of a bytes scalar is guaranteed to be a copy.
  5655  // For unpopulated composite types, it returns an empty, read-only view
  5656  // of the value; to obtain a mutable reference, use Mutable.
  5657  func (x *fastReflection_Nested1B) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  5658  	switch descriptor.FullName() {
  5659  	case "testpb.Nested1B.id":
  5660  		value := x.Id
  5661  		return protoreflect.ValueOfInt32(value)
  5662  	case "testpb.Nested1B.nested":
  5663  		value := x.Nested
  5664  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  5665  	case "testpb.Nested1B.age":
  5666  		value := x.Age
  5667  		return protoreflect.ValueOfInt32(value)
  5668  	default:
  5669  		if descriptor.IsExtension() {
  5670  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5671  		}
  5672  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", descriptor.FullName()))
  5673  	}
  5674  }
  5675  
  5676  // Set stores the value for a field.
  5677  //
  5678  // For a field belonging to a oneof, it implicitly clears any other field
  5679  // that may be currently set within the same oneof.
  5680  // For extension fields, it implicitly stores the provided ExtensionType.
  5681  // When setting a composite type, it is unspecified whether the stored value
  5682  // aliases the source's memory in any way. If the composite value is an
  5683  // empty, read-only value, then it panics.
  5684  //
  5685  // Set is a mutating operation and unsafe for concurrent use.
  5686  func (x *fastReflection_Nested1B) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  5687  	switch fd.FullName() {
  5688  	case "testpb.Nested1B.id":
  5689  		x.Id = int32(value.Int())
  5690  	case "testpb.Nested1B.nested":
  5691  		x.Nested = value.Message().Interface().(*Nested2B)
  5692  	case "testpb.Nested1B.age":
  5693  		x.Age = int32(value.Int())
  5694  	default:
  5695  		if fd.IsExtension() {
  5696  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5697  		}
  5698  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", fd.FullName()))
  5699  	}
  5700  }
  5701  
  5702  // Mutable returns a mutable reference to a composite type.
  5703  //
  5704  // If the field is unpopulated, it may allocate a composite value.
  5705  // For a field belonging to a oneof, it implicitly clears any other field
  5706  // that may be currently set within the same oneof.
  5707  // For extension fields, it implicitly stores the provided ExtensionType
  5708  // if not already stored.
  5709  // It panics if the field does not contain a composite type.
  5710  //
  5711  // Mutable is a mutating operation and unsafe for concurrent use.
  5712  func (x *fastReflection_Nested1B) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  5713  	switch fd.FullName() {
  5714  	case "testpb.Nested1B.nested":
  5715  		if x.Nested == nil {
  5716  			x.Nested = new(Nested2B)
  5717  		}
  5718  		return protoreflect.ValueOfMessage(x.Nested.ProtoReflect())
  5719  	case "testpb.Nested1B.id":
  5720  		panic(fmt.Errorf("field id of message testpb.Nested1B is not mutable"))
  5721  	case "testpb.Nested1B.age":
  5722  		panic(fmt.Errorf("field age of message testpb.Nested1B is not mutable"))
  5723  	default:
  5724  		if fd.IsExtension() {
  5725  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5726  		}
  5727  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", fd.FullName()))
  5728  	}
  5729  }
  5730  
  5731  // NewField returns a new value that is assignable to the field
  5732  // for the given descriptor. For scalars, this returns the default value.
  5733  // For lists, maps, and messages, this returns a new, empty, mutable value.
  5734  func (x *fastReflection_Nested1B) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  5735  	switch fd.FullName() {
  5736  	case "testpb.Nested1B.id":
  5737  		return protoreflect.ValueOfInt32(int32(0))
  5738  	case "testpb.Nested1B.nested":
  5739  		m := new(Nested2B)
  5740  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  5741  	case "testpb.Nested1B.age":
  5742  		return protoreflect.ValueOfInt32(int32(0))
  5743  	default:
  5744  		if fd.IsExtension() {
  5745  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Nested1B"))
  5746  		}
  5747  		panic(fmt.Errorf("message testpb.Nested1B does not contain field %s", fd.FullName()))
  5748  	}
  5749  }
  5750  
  5751  // WhichOneof reports which field within the oneof is populated,
  5752  // returning nil if none are populated.
  5753  // It panics if the oneof descriptor does not belong to this message.
  5754  func (x *fastReflection_Nested1B) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  5755  	switch d.FullName() {
  5756  	default:
  5757  		panic(fmt.Errorf("%s is not a oneof field in testpb.Nested1B", d.FullName()))
  5758  	}
  5759  	panic("unreachable")
  5760  }
  5761  
  5762  // GetUnknown retrieves the entire list of unknown fields.
  5763  // The caller may only mutate the contents of the RawFields
  5764  // if the mutated bytes are stored back into the message with SetUnknown.
  5765  func (x *fastReflection_Nested1B) GetUnknown() protoreflect.RawFields {
  5766  	return x.unknownFields
  5767  }
  5768  
  5769  // SetUnknown stores an entire list of unknown fields.
  5770  // The raw fields must be syntactically valid according to the wire format.
  5771  // An implementation may panic if this is not the case.
  5772  // Once stored, the caller must not mutate the content of the RawFields.
  5773  // An empty RawFields may be passed to clear the fields.
  5774  //
  5775  // SetUnknown is a mutating operation and unsafe for concurrent use.
  5776  func (x *fastReflection_Nested1B) SetUnknown(fields protoreflect.RawFields) {
  5777  	x.unknownFields = fields
  5778  }
  5779  
  5780  // IsValid reports whether the message is valid.
  5781  //
  5782  // An invalid message is an empty, read-only value.
  5783  //
  5784  // An invalid message often corresponds to a nil pointer of the concrete
  5785  // message type, but the details are implementation dependent.
  5786  // Validity is not part of the protobuf data model, and may not
  5787  // be preserved in marshaling or other operations.
  5788  func (x *fastReflection_Nested1B) IsValid() bool {
  5789  	return x != nil
  5790  }
  5791  
  5792  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  5793  // This method may return nil.
  5794  //
  5795  // The returned methods type is identical to
  5796  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  5797  // Consult the protoiface package documentation for details.
  5798  func (x *fastReflection_Nested1B) ProtoMethods() *protoiface.Methods {
  5799  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  5800  		x := input.Message.Interface().(*Nested1B)
  5801  		if x == nil {
  5802  			return protoiface.SizeOutput{
  5803  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5804  				Size:              0,
  5805  			}
  5806  		}
  5807  		options := runtime.SizeInputToOptions(input)
  5808  		_ = options
  5809  		var n int
  5810  		var l int
  5811  		_ = l
  5812  		if x.Id != 0 {
  5813  			n += 1 + runtime.Sov(uint64(x.Id))
  5814  		}
  5815  		if x.Nested != nil {
  5816  			l = options.Size(x.Nested)
  5817  			n += 1 + l + runtime.Sov(uint64(l))
  5818  		}
  5819  		if x.Age != 0 {
  5820  			n += 1 + runtime.Sov(uint64(x.Age))
  5821  		}
  5822  		if x.unknownFields != nil {
  5823  			n += len(x.unknownFields)
  5824  		}
  5825  		return protoiface.SizeOutput{
  5826  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5827  			Size:              n,
  5828  		}
  5829  	}
  5830  
  5831  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  5832  		x := input.Message.Interface().(*Nested1B)
  5833  		if x == nil {
  5834  			return protoiface.MarshalOutput{
  5835  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5836  				Buf:               input.Buf,
  5837  			}, nil
  5838  		}
  5839  		options := runtime.MarshalInputToOptions(input)
  5840  		_ = options
  5841  		size := options.Size(x)
  5842  		dAtA := make([]byte, size)
  5843  		i := len(dAtA)
  5844  		_ = i
  5845  		var l int
  5846  		_ = l
  5847  		if x.unknownFields != nil {
  5848  			i -= len(x.unknownFields)
  5849  			copy(dAtA[i:], x.unknownFields)
  5850  		}
  5851  		if x.Age != 0 {
  5852  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Age))
  5853  			i--
  5854  			dAtA[i] = 0x18
  5855  		}
  5856  		if x.Nested != nil {
  5857  			encoded, err := options.Marshal(x.Nested)
  5858  			if err != nil {
  5859  				return protoiface.MarshalOutput{
  5860  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5861  					Buf:               input.Buf,
  5862  				}, err
  5863  			}
  5864  			i -= len(encoded)
  5865  			copy(dAtA[i:], encoded)
  5866  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5867  			i--
  5868  			dAtA[i] = 0x12
  5869  		}
  5870  		if x.Id != 0 {
  5871  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  5872  			i--
  5873  			dAtA[i] = 0x8
  5874  		}
  5875  		if input.Buf != nil {
  5876  			input.Buf = append(input.Buf, dAtA...)
  5877  		} else {
  5878  			input.Buf = dAtA
  5879  		}
  5880  		return protoiface.MarshalOutput{
  5881  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5882  			Buf:               input.Buf,
  5883  		}, nil
  5884  	}
  5885  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  5886  		x := input.Message.Interface().(*Nested1B)
  5887  		if x == nil {
  5888  			return protoiface.UnmarshalOutput{
  5889  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5890  				Flags:             input.Flags,
  5891  			}, nil
  5892  		}
  5893  		options := runtime.UnmarshalInputToOptions(input)
  5894  		_ = options
  5895  		dAtA := input.Buf
  5896  		l := len(dAtA)
  5897  		iNdEx := 0
  5898  		for iNdEx < l {
  5899  			preIndex := iNdEx
  5900  			var wire uint64
  5901  			for shift := uint(0); ; shift += 7 {
  5902  				if shift >= 64 {
  5903  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5904  				}
  5905  				if iNdEx >= l {
  5906  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5907  				}
  5908  				b := dAtA[iNdEx]
  5909  				iNdEx++
  5910  				wire |= uint64(b&0x7F) << shift
  5911  				if b < 0x80 {
  5912  					break
  5913  				}
  5914  			}
  5915  			fieldNum := int32(wire >> 3)
  5916  			wireType := int(wire & 0x7)
  5917  			if wireType == 4 {
  5918  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested1B: wiretype end group for non-group")
  5919  			}
  5920  			if fieldNum <= 0 {
  5921  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Nested1B: illegal tag %d (wire type %d)", fieldNum, wire)
  5922  			}
  5923  			switch fieldNum {
  5924  			case 1:
  5925  				if wireType != 0 {
  5926  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  5927  				}
  5928  				x.Id = 0
  5929  				for shift := uint(0); ; shift += 7 {
  5930  					if shift >= 64 {
  5931  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5932  					}
  5933  					if iNdEx >= l {
  5934  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5935  					}
  5936  					b := dAtA[iNdEx]
  5937  					iNdEx++
  5938  					x.Id |= int32(b&0x7F) << shift
  5939  					if b < 0x80 {
  5940  						break
  5941  					}
  5942  				}
  5943  			case 2:
  5944  				if wireType != 2 {
  5945  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  5946  				}
  5947  				var msglen int
  5948  				for shift := uint(0); ; shift += 7 {
  5949  					if shift >= 64 {
  5950  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5951  					}
  5952  					if iNdEx >= l {
  5953  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5954  					}
  5955  					b := dAtA[iNdEx]
  5956  					iNdEx++
  5957  					msglen |= int(b&0x7F) << shift
  5958  					if b < 0x80 {
  5959  						break
  5960  					}
  5961  				}
  5962  				if msglen < 0 {
  5963  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5964  				}
  5965  				postIndex := iNdEx + msglen
  5966  				if postIndex < 0 {
  5967  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  5968  				}
  5969  				if postIndex > l {
  5970  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5971  				}
  5972  				if x.Nested == nil {
  5973  					x.Nested = &Nested2B{}
  5974  				}
  5975  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Nested); err != nil {
  5976  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  5977  				}
  5978  				iNdEx = postIndex
  5979  			case 3:
  5980  				if wireType != 0 {
  5981  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  5982  				}
  5983  				x.Age = 0
  5984  				for shift := uint(0); ; shift += 7 {
  5985  					if shift >= 64 {
  5986  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  5987  					}
  5988  					if iNdEx >= l {
  5989  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  5990  					}
  5991  					b := dAtA[iNdEx]
  5992  					iNdEx++
  5993  					x.Age |= int32(b&0x7F) << shift
  5994  					if b < 0x80 {
  5995  						break
  5996  					}
  5997  				}
  5998  			default:
  5999  				iNdEx = preIndex
  6000  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  6001  				if err != nil {
  6002  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  6003  				}
  6004  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  6005  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6006  				}
  6007  				if (iNdEx + skippy) > l {
  6008  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6009  				}
  6010  				if !options.DiscardUnknown {
  6011  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  6012  				}
  6013  				iNdEx += skippy
  6014  			}
  6015  		}
  6016  
  6017  		if iNdEx > l {
  6018  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6019  		}
  6020  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  6021  	}
  6022  	return &protoiface.Methods{
  6023  		NoUnkeyedLiterals: struct{}{},
  6024  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  6025  		Size:              size,
  6026  		Marshal:           marshal,
  6027  		Unmarshal:         unmarshal,
  6028  		Merge:             nil,
  6029  		CheckInitialized:  nil,
  6030  	}
  6031  }
  6032  
  6033  var (
  6034  	md_Customer3                protoreflect.MessageDescriptor
  6035  	fd_Customer3_id             protoreflect.FieldDescriptor
  6036  	fd_Customer3_name           protoreflect.FieldDescriptor
  6037  	fd_Customer3_sf             protoreflect.FieldDescriptor
  6038  	fd_Customer3_surcharge      protoreflect.FieldDescriptor
  6039  	fd_Customer3_destination    protoreflect.FieldDescriptor
  6040  	fd_Customer3_credit_card_no protoreflect.FieldDescriptor
  6041  	fd_Customer3_cheque_no      protoreflect.FieldDescriptor
  6042  	fd_Customer3_original       protoreflect.FieldDescriptor
  6043  )
  6044  
  6045  func init() {
  6046  	file_testpb_unknonwnproto_proto_init()
  6047  	md_Customer3 = File_testpb_unknonwnproto_proto.Messages().ByName("Customer3")
  6048  	fd_Customer3_id = md_Customer3.Fields().ByName("id")
  6049  	fd_Customer3_name = md_Customer3.Fields().ByName("name")
  6050  	fd_Customer3_sf = md_Customer3.Fields().ByName("sf")
  6051  	fd_Customer3_surcharge = md_Customer3.Fields().ByName("surcharge")
  6052  	fd_Customer3_destination = md_Customer3.Fields().ByName("destination")
  6053  	fd_Customer3_credit_card_no = md_Customer3.Fields().ByName("credit_card_no")
  6054  	fd_Customer3_cheque_no = md_Customer3.Fields().ByName("cheque_no")
  6055  	fd_Customer3_original = md_Customer3.Fields().ByName("original")
  6056  }
  6057  
  6058  var _ protoreflect.Message = (*fastReflection_Customer3)(nil)
  6059  
  6060  type fastReflection_Customer3 Customer3
  6061  
  6062  func (x *Customer3) ProtoReflect() protoreflect.Message {
  6063  	return (*fastReflection_Customer3)(x)
  6064  }
  6065  
  6066  func (x *Customer3) slowProtoReflect() protoreflect.Message {
  6067  	mi := &file_testpb_unknonwnproto_proto_msgTypes[10]
  6068  	if protoimpl.UnsafeEnabled && x != nil {
  6069  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  6070  		if ms.LoadMessageInfo() == nil {
  6071  			ms.StoreMessageInfo(mi)
  6072  		}
  6073  		return ms
  6074  	}
  6075  	return mi.MessageOf(x)
  6076  }
  6077  
  6078  var _fastReflection_Customer3_messageType fastReflection_Customer3_messageType
  6079  var _ protoreflect.MessageType = fastReflection_Customer3_messageType{}
  6080  
  6081  type fastReflection_Customer3_messageType struct{}
  6082  
  6083  func (x fastReflection_Customer3_messageType) Zero() protoreflect.Message {
  6084  	return (*fastReflection_Customer3)(nil)
  6085  }
  6086  func (x fastReflection_Customer3_messageType) New() protoreflect.Message {
  6087  	return new(fastReflection_Customer3)
  6088  }
  6089  func (x fastReflection_Customer3_messageType) Descriptor() protoreflect.MessageDescriptor {
  6090  	return md_Customer3
  6091  }
  6092  
  6093  // Descriptor returns message descriptor, which contains only the protobuf
  6094  // type information for the message.
  6095  func (x *fastReflection_Customer3) Descriptor() protoreflect.MessageDescriptor {
  6096  	return md_Customer3
  6097  }
  6098  
  6099  // Type returns the message type, which encapsulates both Go and protobuf
  6100  // type information. If the Go type information is not needed,
  6101  // it is recommended that the message descriptor be used instead.
  6102  func (x *fastReflection_Customer3) Type() protoreflect.MessageType {
  6103  	return _fastReflection_Customer3_messageType
  6104  }
  6105  
  6106  // New returns a newly allocated and mutable empty message.
  6107  func (x *fastReflection_Customer3) New() protoreflect.Message {
  6108  	return new(fastReflection_Customer3)
  6109  }
  6110  
  6111  // Interface unwraps the message reflection interface and
  6112  // returns the underlying ProtoMessage interface.
  6113  func (x *fastReflection_Customer3) Interface() protoreflect.ProtoMessage {
  6114  	return (*Customer3)(x)
  6115  }
  6116  
  6117  // Range iterates over every populated field in an undefined order,
  6118  // calling f for each field descriptor and value encountered.
  6119  // Range returns immediately if f returns false.
  6120  // While iterating, mutating operations may only be performed
  6121  // on the current field descriptor.
  6122  func (x *fastReflection_Customer3) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  6123  	if x.Id != int32(0) {
  6124  		value := protoreflect.ValueOfInt32(x.Id)
  6125  		if !f(fd_Customer3_id, value) {
  6126  			return
  6127  		}
  6128  	}
  6129  	if x.Name != "" {
  6130  		value := protoreflect.ValueOfString(x.Name)
  6131  		if !f(fd_Customer3_name, value) {
  6132  			return
  6133  		}
  6134  	}
  6135  	if x.Sf != float32(0) || math.Signbit(float64(x.Sf)) {
  6136  		value := protoreflect.ValueOfFloat32(x.Sf)
  6137  		if !f(fd_Customer3_sf, value) {
  6138  			return
  6139  		}
  6140  	}
  6141  	if x.Surcharge != float32(0) || math.Signbit(float64(x.Surcharge)) {
  6142  		value := protoreflect.ValueOfFloat32(x.Surcharge)
  6143  		if !f(fd_Customer3_surcharge, value) {
  6144  			return
  6145  		}
  6146  	}
  6147  	if x.Destination != "" {
  6148  		value := protoreflect.ValueOfString(x.Destination)
  6149  		if !f(fd_Customer3_destination, value) {
  6150  			return
  6151  		}
  6152  	}
  6153  	if x.Payment != nil {
  6154  		switch o := x.Payment.(type) {
  6155  		case *Customer3_CreditCardNo:
  6156  			v := o.CreditCardNo
  6157  			value := protoreflect.ValueOfString(v)
  6158  			if !f(fd_Customer3_credit_card_no, value) {
  6159  				return
  6160  			}
  6161  		case *Customer3_ChequeNo:
  6162  			v := o.ChequeNo
  6163  			value := protoreflect.ValueOfString(v)
  6164  			if !f(fd_Customer3_cheque_no, value) {
  6165  				return
  6166  			}
  6167  		}
  6168  	}
  6169  	if x.Original != nil {
  6170  		value := protoreflect.ValueOfMessage(x.Original.ProtoReflect())
  6171  		if !f(fd_Customer3_original, value) {
  6172  			return
  6173  		}
  6174  	}
  6175  }
  6176  
  6177  // Has reports whether a field is populated.
  6178  //
  6179  // Some fields have the property of nullability where it is possible to
  6180  // distinguish between the default value of a field and whether the field
  6181  // was explicitly populated with the default value. Singular message fields,
  6182  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  6183  // fields are populated only if explicitly set.
  6184  //
  6185  // In other cases (aside from the nullable cases above),
  6186  // a proto3 scalar field is populated if it contains a non-zero value, and
  6187  // a repeated field is populated if it is non-empty.
  6188  func (x *fastReflection_Customer3) Has(fd protoreflect.FieldDescriptor) bool {
  6189  	switch fd.FullName() {
  6190  	case "testpb.Customer3.id":
  6191  		return x.Id != int32(0)
  6192  	case "testpb.Customer3.name":
  6193  		return x.Name != ""
  6194  	case "testpb.Customer3.sf":
  6195  		return x.Sf != float32(0) || math.Signbit(float64(x.Sf))
  6196  	case "testpb.Customer3.surcharge":
  6197  		return x.Surcharge != float32(0) || math.Signbit(float64(x.Surcharge))
  6198  	case "testpb.Customer3.destination":
  6199  		return x.Destination != ""
  6200  	case "testpb.Customer3.credit_card_no":
  6201  		if x.Payment == nil {
  6202  			return false
  6203  		} else if _, ok := x.Payment.(*Customer3_CreditCardNo); ok {
  6204  			return true
  6205  		} else {
  6206  			return false
  6207  		}
  6208  	case "testpb.Customer3.cheque_no":
  6209  		if x.Payment == nil {
  6210  			return false
  6211  		} else if _, ok := x.Payment.(*Customer3_ChequeNo); ok {
  6212  			return true
  6213  		} else {
  6214  			return false
  6215  		}
  6216  	case "testpb.Customer3.original":
  6217  		return x.Original != nil
  6218  	default:
  6219  		if fd.IsExtension() {
  6220  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6221  		}
  6222  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", fd.FullName()))
  6223  	}
  6224  }
  6225  
  6226  // Clear clears the field such that a subsequent Has call reports false.
  6227  //
  6228  // Clearing an extension field clears both the extension type and value
  6229  // associated with the given field number.
  6230  //
  6231  // Clear is a mutating operation and unsafe for concurrent use.
  6232  func (x *fastReflection_Customer3) Clear(fd protoreflect.FieldDescriptor) {
  6233  	switch fd.FullName() {
  6234  	case "testpb.Customer3.id":
  6235  		x.Id = int32(0)
  6236  	case "testpb.Customer3.name":
  6237  		x.Name = ""
  6238  	case "testpb.Customer3.sf":
  6239  		x.Sf = float32(0)
  6240  	case "testpb.Customer3.surcharge":
  6241  		x.Surcharge = float32(0)
  6242  	case "testpb.Customer3.destination":
  6243  		x.Destination = ""
  6244  	case "testpb.Customer3.credit_card_no":
  6245  		x.Payment = nil
  6246  	case "testpb.Customer3.cheque_no":
  6247  		x.Payment = nil
  6248  	case "testpb.Customer3.original":
  6249  		x.Original = nil
  6250  	default:
  6251  		if fd.IsExtension() {
  6252  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6253  		}
  6254  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", fd.FullName()))
  6255  	}
  6256  }
  6257  
  6258  // Get retrieves the value for a field.
  6259  //
  6260  // For unpopulated scalars, it returns the default value, where
  6261  // the default value of a bytes scalar is guaranteed to be a copy.
  6262  // For unpopulated composite types, it returns an empty, read-only view
  6263  // of the value; to obtain a mutable reference, use Mutable.
  6264  func (x *fastReflection_Customer3) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  6265  	switch descriptor.FullName() {
  6266  	case "testpb.Customer3.id":
  6267  		value := x.Id
  6268  		return protoreflect.ValueOfInt32(value)
  6269  	case "testpb.Customer3.name":
  6270  		value := x.Name
  6271  		return protoreflect.ValueOfString(value)
  6272  	case "testpb.Customer3.sf":
  6273  		value := x.Sf
  6274  		return protoreflect.ValueOfFloat32(value)
  6275  	case "testpb.Customer3.surcharge":
  6276  		value := x.Surcharge
  6277  		return protoreflect.ValueOfFloat32(value)
  6278  	case "testpb.Customer3.destination":
  6279  		value := x.Destination
  6280  		return protoreflect.ValueOfString(value)
  6281  	case "testpb.Customer3.credit_card_no":
  6282  		if x.Payment == nil {
  6283  			return protoreflect.ValueOfString("")
  6284  		} else if v, ok := x.Payment.(*Customer3_CreditCardNo); ok {
  6285  			return protoreflect.ValueOfString(v.CreditCardNo)
  6286  		} else {
  6287  			return protoreflect.ValueOfString("")
  6288  		}
  6289  	case "testpb.Customer3.cheque_no":
  6290  		if x.Payment == nil {
  6291  			return protoreflect.ValueOfString("")
  6292  		} else if v, ok := x.Payment.(*Customer3_ChequeNo); ok {
  6293  			return protoreflect.ValueOfString(v.ChequeNo)
  6294  		} else {
  6295  			return protoreflect.ValueOfString("")
  6296  		}
  6297  	case "testpb.Customer3.original":
  6298  		value := x.Original
  6299  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  6300  	default:
  6301  		if descriptor.IsExtension() {
  6302  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6303  		}
  6304  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", descriptor.FullName()))
  6305  	}
  6306  }
  6307  
  6308  // Set stores the value for a field.
  6309  //
  6310  // For a field belonging to a oneof, it implicitly clears any other field
  6311  // that may be currently set within the same oneof.
  6312  // For extension fields, it implicitly stores the provided ExtensionType.
  6313  // When setting a composite type, it is unspecified whether the stored value
  6314  // aliases the source's memory in any way. If the composite value is an
  6315  // empty, read-only value, then it panics.
  6316  //
  6317  // Set is a mutating operation and unsafe for concurrent use.
  6318  func (x *fastReflection_Customer3) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  6319  	switch fd.FullName() {
  6320  	case "testpb.Customer3.id":
  6321  		x.Id = int32(value.Int())
  6322  	case "testpb.Customer3.name":
  6323  		x.Name = value.Interface().(string)
  6324  	case "testpb.Customer3.sf":
  6325  		x.Sf = float32(value.Float())
  6326  	case "testpb.Customer3.surcharge":
  6327  		x.Surcharge = float32(value.Float())
  6328  	case "testpb.Customer3.destination":
  6329  		x.Destination = value.Interface().(string)
  6330  	case "testpb.Customer3.credit_card_no":
  6331  		cv := value.Interface().(string)
  6332  		x.Payment = &Customer3_CreditCardNo{CreditCardNo: cv}
  6333  	case "testpb.Customer3.cheque_no":
  6334  		cv := value.Interface().(string)
  6335  		x.Payment = &Customer3_ChequeNo{ChequeNo: cv}
  6336  	case "testpb.Customer3.original":
  6337  		x.Original = value.Message().Interface().(*Customer1)
  6338  	default:
  6339  		if fd.IsExtension() {
  6340  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6341  		}
  6342  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", fd.FullName()))
  6343  	}
  6344  }
  6345  
  6346  // Mutable returns a mutable reference to a composite type.
  6347  //
  6348  // If the field is unpopulated, it may allocate a composite value.
  6349  // For a field belonging to a oneof, it implicitly clears any other field
  6350  // that may be currently set within the same oneof.
  6351  // For extension fields, it implicitly stores the provided ExtensionType
  6352  // if not already stored.
  6353  // It panics if the field does not contain a composite type.
  6354  //
  6355  // Mutable is a mutating operation and unsafe for concurrent use.
  6356  func (x *fastReflection_Customer3) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  6357  	switch fd.FullName() {
  6358  	case "testpb.Customer3.original":
  6359  		if x.Original == nil {
  6360  			x.Original = new(Customer1)
  6361  		}
  6362  		return protoreflect.ValueOfMessage(x.Original.ProtoReflect())
  6363  	case "testpb.Customer3.id":
  6364  		panic(fmt.Errorf("field id of message testpb.Customer3 is not mutable"))
  6365  	case "testpb.Customer3.name":
  6366  		panic(fmt.Errorf("field name of message testpb.Customer3 is not mutable"))
  6367  	case "testpb.Customer3.sf":
  6368  		panic(fmt.Errorf("field sf of message testpb.Customer3 is not mutable"))
  6369  	case "testpb.Customer3.surcharge":
  6370  		panic(fmt.Errorf("field surcharge of message testpb.Customer3 is not mutable"))
  6371  	case "testpb.Customer3.destination":
  6372  		panic(fmt.Errorf("field destination of message testpb.Customer3 is not mutable"))
  6373  	case "testpb.Customer3.credit_card_no":
  6374  		panic(fmt.Errorf("field credit_card_no of message testpb.Customer3 is not mutable"))
  6375  	case "testpb.Customer3.cheque_no":
  6376  		panic(fmt.Errorf("field cheque_no of message testpb.Customer3 is not mutable"))
  6377  	default:
  6378  		if fd.IsExtension() {
  6379  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6380  		}
  6381  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", fd.FullName()))
  6382  	}
  6383  }
  6384  
  6385  // NewField returns a new value that is assignable to the field
  6386  // for the given descriptor. For scalars, this returns the default value.
  6387  // For lists, maps, and messages, this returns a new, empty, mutable value.
  6388  func (x *fastReflection_Customer3) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  6389  	switch fd.FullName() {
  6390  	case "testpb.Customer3.id":
  6391  		return protoreflect.ValueOfInt32(int32(0))
  6392  	case "testpb.Customer3.name":
  6393  		return protoreflect.ValueOfString("")
  6394  	case "testpb.Customer3.sf":
  6395  		return protoreflect.ValueOfFloat32(float32(0))
  6396  	case "testpb.Customer3.surcharge":
  6397  		return protoreflect.ValueOfFloat32(float32(0))
  6398  	case "testpb.Customer3.destination":
  6399  		return protoreflect.ValueOfString("")
  6400  	case "testpb.Customer3.credit_card_no":
  6401  		return protoreflect.ValueOfString("")
  6402  	case "testpb.Customer3.cheque_no":
  6403  		return protoreflect.ValueOfString("")
  6404  	case "testpb.Customer3.original":
  6405  		m := new(Customer1)
  6406  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  6407  	default:
  6408  		if fd.IsExtension() {
  6409  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.Customer3"))
  6410  		}
  6411  		panic(fmt.Errorf("message testpb.Customer3 does not contain field %s", fd.FullName()))
  6412  	}
  6413  }
  6414  
  6415  // WhichOneof reports which field within the oneof is populated,
  6416  // returning nil if none are populated.
  6417  // It panics if the oneof descriptor does not belong to this message.
  6418  func (x *fastReflection_Customer3) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  6419  	switch d.FullName() {
  6420  	case "testpb.Customer3.payment":
  6421  		if x.Payment == nil {
  6422  			return nil
  6423  		}
  6424  		switch x.Payment.(type) {
  6425  		case *Customer3_CreditCardNo:
  6426  			return x.Descriptor().Fields().ByName("credit_card_no")
  6427  		case *Customer3_ChequeNo:
  6428  			return x.Descriptor().Fields().ByName("cheque_no")
  6429  		}
  6430  	default:
  6431  		panic(fmt.Errorf("%s is not a oneof field in testpb.Customer3", d.FullName()))
  6432  	}
  6433  	panic("unreachable")
  6434  }
  6435  
  6436  // GetUnknown retrieves the entire list of unknown fields.
  6437  // The caller may only mutate the contents of the RawFields
  6438  // if the mutated bytes are stored back into the message with SetUnknown.
  6439  func (x *fastReflection_Customer3) GetUnknown() protoreflect.RawFields {
  6440  	return x.unknownFields
  6441  }
  6442  
  6443  // SetUnknown stores an entire list of unknown fields.
  6444  // The raw fields must be syntactically valid according to the wire format.
  6445  // An implementation may panic if this is not the case.
  6446  // Once stored, the caller must not mutate the content of the RawFields.
  6447  // An empty RawFields may be passed to clear the fields.
  6448  //
  6449  // SetUnknown is a mutating operation and unsafe for concurrent use.
  6450  func (x *fastReflection_Customer3) SetUnknown(fields protoreflect.RawFields) {
  6451  	x.unknownFields = fields
  6452  }
  6453  
  6454  // IsValid reports whether the message is valid.
  6455  //
  6456  // An invalid message is an empty, read-only value.
  6457  //
  6458  // An invalid message often corresponds to a nil pointer of the concrete
  6459  // message type, but the details are implementation dependent.
  6460  // Validity is not part of the protobuf data model, and may not
  6461  // be preserved in marshaling or other operations.
  6462  func (x *fastReflection_Customer3) IsValid() bool {
  6463  	return x != nil
  6464  }
  6465  
  6466  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  6467  // This method may return nil.
  6468  //
  6469  // The returned methods type is identical to
  6470  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  6471  // Consult the protoiface package documentation for details.
  6472  func (x *fastReflection_Customer3) ProtoMethods() *protoiface.Methods {
  6473  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  6474  		x := input.Message.Interface().(*Customer3)
  6475  		if x == nil {
  6476  			return protoiface.SizeOutput{
  6477  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6478  				Size:              0,
  6479  			}
  6480  		}
  6481  		options := runtime.SizeInputToOptions(input)
  6482  		_ = options
  6483  		var n int
  6484  		var l int
  6485  		_ = l
  6486  		if x.Id != 0 {
  6487  			n += 1 + runtime.Sov(uint64(x.Id))
  6488  		}
  6489  		l = len(x.Name)
  6490  		if l > 0 {
  6491  			n += 1 + l + runtime.Sov(uint64(l))
  6492  		}
  6493  		if x.Sf != 0 || math.Signbit(float64(x.Sf)) {
  6494  			n += 5
  6495  		}
  6496  		if x.Surcharge != 0 || math.Signbit(float64(x.Surcharge)) {
  6497  			n += 5
  6498  		}
  6499  		l = len(x.Destination)
  6500  		if l > 0 {
  6501  			n += 1 + l + runtime.Sov(uint64(l))
  6502  		}
  6503  		switch x := x.Payment.(type) {
  6504  		case *Customer3_CreditCardNo:
  6505  			if x == nil {
  6506  				break
  6507  			}
  6508  			l = len(x.CreditCardNo)
  6509  			n += 1 + l + runtime.Sov(uint64(l))
  6510  		case *Customer3_ChequeNo:
  6511  			if x == nil {
  6512  				break
  6513  			}
  6514  			l = len(x.ChequeNo)
  6515  			n += 1 + l + runtime.Sov(uint64(l))
  6516  		}
  6517  		if x.Original != nil {
  6518  			l = options.Size(x.Original)
  6519  			n += 1 + l + runtime.Sov(uint64(l))
  6520  		}
  6521  		if x.unknownFields != nil {
  6522  			n += len(x.unknownFields)
  6523  		}
  6524  		return protoiface.SizeOutput{
  6525  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6526  			Size:              n,
  6527  		}
  6528  	}
  6529  
  6530  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  6531  		x := input.Message.Interface().(*Customer3)
  6532  		if x == nil {
  6533  			return protoiface.MarshalOutput{
  6534  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6535  				Buf:               input.Buf,
  6536  			}, nil
  6537  		}
  6538  		options := runtime.MarshalInputToOptions(input)
  6539  		_ = options
  6540  		size := options.Size(x)
  6541  		dAtA := make([]byte, size)
  6542  		i := len(dAtA)
  6543  		_ = i
  6544  		var l int
  6545  		_ = l
  6546  		if x.unknownFields != nil {
  6547  			i -= len(x.unknownFields)
  6548  			copy(dAtA[i:], x.unknownFields)
  6549  		}
  6550  		switch x := x.Payment.(type) {
  6551  		case *Customer3_CreditCardNo:
  6552  			i -= len(x.CreditCardNo)
  6553  			copy(dAtA[i:], x.CreditCardNo)
  6554  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditCardNo)))
  6555  			i--
  6556  			dAtA[i] = 0x3a
  6557  		case *Customer3_ChequeNo:
  6558  			i -= len(x.ChequeNo)
  6559  			copy(dAtA[i:], x.ChequeNo)
  6560  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChequeNo)))
  6561  			i--
  6562  			dAtA[i] = 0x42
  6563  		}
  6564  		if x.Original != nil {
  6565  			encoded, err := options.Marshal(x.Original)
  6566  			if err != nil {
  6567  				return protoiface.MarshalOutput{
  6568  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6569  					Buf:               input.Buf,
  6570  				}, err
  6571  			}
  6572  			i -= len(encoded)
  6573  			copy(dAtA[i:], encoded)
  6574  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  6575  			i--
  6576  			dAtA[i] = 0x4a
  6577  		}
  6578  		if len(x.Destination) > 0 {
  6579  			i -= len(x.Destination)
  6580  			copy(dAtA[i:], x.Destination)
  6581  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Destination)))
  6582  			i--
  6583  			dAtA[i] = 0x2a
  6584  		}
  6585  		if x.Surcharge != 0 || math.Signbit(float64(x.Surcharge)) {
  6586  			i -= 4
  6587  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.Surcharge))))
  6588  			i--
  6589  			dAtA[i] = 0x25
  6590  		}
  6591  		if x.Sf != 0 || math.Signbit(float64(x.Sf)) {
  6592  			i -= 4
  6593  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.Sf))))
  6594  			i--
  6595  			dAtA[i] = 0x1d
  6596  		}
  6597  		if len(x.Name) > 0 {
  6598  			i -= len(x.Name)
  6599  			copy(dAtA[i:], x.Name)
  6600  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
  6601  			i--
  6602  			dAtA[i] = 0x12
  6603  		}
  6604  		if x.Id != 0 {
  6605  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
  6606  			i--
  6607  			dAtA[i] = 0x8
  6608  		}
  6609  		if input.Buf != nil {
  6610  			input.Buf = append(input.Buf, dAtA...)
  6611  		} else {
  6612  			input.Buf = dAtA
  6613  		}
  6614  		return protoiface.MarshalOutput{
  6615  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6616  			Buf:               input.Buf,
  6617  		}, nil
  6618  	}
  6619  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  6620  		x := input.Message.Interface().(*Customer3)
  6621  		if x == nil {
  6622  			return protoiface.UnmarshalOutput{
  6623  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6624  				Flags:             input.Flags,
  6625  			}, nil
  6626  		}
  6627  		options := runtime.UnmarshalInputToOptions(input)
  6628  		_ = options
  6629  		dAtA := input.Buf
  6630  		l := len(dAtA)
  6631  		iNdEx := 0
  6632  		for iNdEx < l {
  6633  			preIndex := iNdEx
  6634  			var wire uint64
  6635  			for shift := uint(0); ; shift += 7 {
  6636  				if shift >= 64 {
  6637  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6638  				}
  6639  				if iNdEx >= l {
  6640  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6641  				}
  6642  				b := dAtA[iNdEx]
  6643  				iNdEx++
  6644  				wire |= uint64(b&0x7F) << shift
  6645  				if b < 0x80 {
  6646  					break
  6647  				}
  6648  			}
  6649  			fieldNum := int32(wire >> 3)
  6650  			wireType := int(wire & 0x7)
  6651  			if wireType == 4 {
  6652  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer3: wiretype end group for non-group")
  6653  			}
  6654  			if fieldNum <= 0 {
  6655  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Customer3: illegal tag %d (wire type %d)", fieldNum, wire)
  6656  			}
  6657  			switch fieldNum {
  6658  			case 1:
  6659  				if wireType != 0 {
  6660  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  6661  				}
  6662  				x.Id = 0
  6663  				for shift := uint(0); ; shift += 7 {
  6664  					if shift >= 64 {
  6665  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6666  					}
  6667  					if iNdEx >= l {
  6668  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6669  					}
  6670  					b := dAtA[iNdEx]
  6671  					iNdEx++
  6672  					x.Id |= int32(b&0x7F) << shift
  6673  					if b < 0x80 {
  6674  						break
  6675  					}
  6676  				}
  6677  			case 2:
  6678  				if wireType != 2 {
  6679  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6680  				}
  6681  				var stringLen uint64
  6682  				for shift := uint(0); ; shift += 7 {
  6683  					if shift >= 64 {
  6684  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6685  					}
  6686  					if iNdEx >= l {
  6687  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6688  					}
  6689  					b := dAtA[iNdEx]
  6690  					iNdEx++
  6691  					stringLen |= uint64(b&0x7F) << shift
  6692  					if b < 0x80 {
  6693  						break
  6694  					}
  6695  				}
  6696  				intStringLen := int(stringLen)
  6697  				if intStringLen < 0 {
  6698  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6699  				}
  6700  				postIndex := iNdEx + intStringLen
  6701  				if postIndex < 0 {
  6702  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6703  				}
  6704  				if postIndex > l {
  6705  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6706  				}
  6707  				x.Name = string(dAtA[iNdEx:postIndex])
  6708  				iNdEx = postIndex
  6709  			case 3:
  6710  				if wireType != 5 {
  6711  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Sf", wireType)
  6712  				}
  6713  				var v uint32
  6714  				if (iNdEx + 4) > l {
  6715  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6716  				}
  6717  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6718  				iNdEx += 4
  6719  				x.Sf = float32(math.Float32frombits(v))
  6720  			case 4:
  6721  				if wireType != 5 {
  6722  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Surcharge", wireType)
  6723  				}
  6724  				var v uint32
  6725  				if (iNdEx + 4) > l {
  6726  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6727  				}
  6728  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6729  				iNdEx += 4
  6730  				x.Surcharge = float32(math.Float32frombits(v))
  6731  			case 5:
  6732  				if wireType != 2 {
  6733  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
  6734  				}
  6735  				var stringLen uint64
  6736  				for shift := uint(0); ; shift += 7 {
  6737  					if shift >= 64 {
  6738  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6739  					}
  6740  					if iNdEx >= l {
  6741  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6742  					}
  6743  					b := dAtA[iNdEx]
  6744  					iNdEx++
  6745  					stringLen |= uint64(b&0x7F) << shift
  6746  					if b < 0x80 {
  6747  						break
  6748  					}
  6749  				}
  6750  				intStringLen := int(stringLen)
  6751  				if intStringLen < 0 {
  6752  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6753  				}
  6754  				postIndex := iNdEx + intStringLen
  6755  				if postIndex < 0 {
  6756  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6757  				}
  6758  				if postIndex > l {
  6759  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6760  				}
  6761  				x.Destination = string(dAtA[iNdEx:postIndex])
  6762  				iNdEx = postIndex
  6763  			case 7:
  6764  				if wireType != 2 {
  6765  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreditCardNo", wireType)
  6766  				}
  6767  				var stringLen uint64
  6768  				for shift := uint(0); ; shift += 7 {
  6769  					if shift >= 64 {
  6770  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6771  					}
  6772  					if iNdEx >= l {
  6773  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6774  					}
  6775  					b := dAtA[iNdEx]
  6776  					iNdEx++
  6777  					stringLen |= uint64(b&0x7F) << shift
  6778  					if b < 0x80 {
  6779  						break
  6780  					}
  6781  				}
  6782  				intStringLen := int(stringLen)
  6783  				if intStringLen < 0 {
  6784  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6785  				}
  6786  				postIndex := iNdEx + intStringLen
  6787  				if postIndex < 0 {
  6788  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6789  				}
  6790  				if postIndex > l {
  6791  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6792  				}
  6793  				x.Payment = &Customer3_CreditCardNo{string(dAtA[iNdEx:postIndex])}
  6794  				iNdEx = postIndex
  6795  			case 8:
  6796  				if wireType != 2 {
  6797  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChequeNo", wireType)
  6798  				}
  6799  				var stringLen uint64
  6800  				for shift := uint(0); ; shift += 7 {
  6801  					if shift >= 64 {
  6802  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6803  					}
  6804  					if iNdEx >= l {
  6805  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6806  					}
  6807  					b := dAtA[iNdEx]
  6808  					iNdEx++
  6809  					stringLen |= uint64(b&0x7F) << shift
  6810  					if b < 0x80 {
  6811  						break
  6812  					}
  6813  				}
  6814  				intStringLen := int(stringLen)
  6815  				if intStringLen < 0 {
  6816  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6817  				}
  6818  				postIndex := iNdEx + intStringLen
  6819  				if postIndex < 0 {
  6820  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6821  				}
  6822  				if postIndex > l {
  6823  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6824  				}
  6825  				x.Payment = &Customer3_ChequeNo{string(dAtA[iNdEx:postIndex])}
  6826  				iNdEx = postIndex
  6827  			case 9:
  6828  				if wireType != 2 {
  6829  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Original", wireType)
  6830  				}
  6831  				var msglen int
  6832  				for shift := uint(0); ; shift += 7 {
  6833  					if shift >= 64 {
  6834  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6835  					}
  6836  					if iNdEx >= l {
  6837  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6838  					}
  6839  					b := dAtA[iNdEx]
  6840  					iNdEx++
  6841  					msglen |= int(b&0x7F) << shift
  6842  					if b < 0x80 {
  6843  						break
  6844  					}
  6845  				}
  6846  				if msglen < 0 {
  6847  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6848  				}
  6849  				postIndex := iNdEx + msglen
  6850  				if postIndex < 0 {
  6851  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6852  				}
  6853  				if postIndex > l {
  6854  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6855  				}
  6856  				if x.Original == nil {
  6857  					x.Original = &Customer1{}
  6858  				}
  6859  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Original); err != nil {
  6860  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  6861  				}
  6862  				iNdEx = postIndex
  6863  			default:
  6864  				iNdEx = preIndex
  6865  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  6866  				if err != nil {
  6867  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  6868  				}
  6869  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  6870  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6871  				}
  6872  				if (iNdEx + skippy) > l {
  6873  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6874  				}
  6875  				if !options.DiscardUnknown {
  6876  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  6877  				}
  6878  				iNdEx += skippy
  6879  			}
  6880  		}
  6881  
  6882  		if iNdEx > l {
  6883  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6884  		}
  6885  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  6886  	}
  6887  	return &protoiface.Methods{
  6888  		NoUnkeyedLiterals: struct{}{},
  6889  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  6890  		Size:              size,
  6891  		Marshal:           marshal,
  6892  		Unmarshal:         unmarshal,
  6893  		Merge:             nil,
  6894  		CheckInitialized:  nil,
  6895  	}
  6896  }
  6897  
  6898  var _ protoreflect.List = (*_TestVersion1_4_list)(nil)
  6899  
  6900  type _TestVersion1_4_list struct {
  6901  	list *[]*TestVersion1
  6902  }
  6903  
  6904  func (x *_TestVersion1_4_list) Len() int {
  6905  	if x.list == nil {
  6906  		return 0
  6907  	}
  6908  	return len(*x.list)
  6909  }
  6910  
  6911  func (x *_TestVersion1_4_list) Get(i int) protoreflect.Value {
  6912  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  6913  }
  6914  
  6915  func (x *_TestVersion1_4_list) Set(i int, value protoreflect.Value) {
  6916  	valueUnwrapped := value.Message()
  6917  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  6918  	(*x.list)[i] = concreteValue
  6919  }
  6920  
  6921  func (x *_TestVersion1_4_list) Append(value protoreflect.Value) {
  6922  	valueUnwrapped := value.Message()
  6923  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  6924  	*x.list = append(*x.list, concreteValue)
  6925  }
  6926  
  6927  func (x *_TestVersion1_4_list) AppendMutable() protoreflect.Value {
  6928  	v := new(TestVersion1)
  6929  	*x.list = append(*x.list, v)
  6930  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  6931  }
  6932  
  6933  func (x *_TestVersion1_4_list) Truncate(n int) {
  6934  	for i := n; i < len(*x.list); i++ {
  6935  		(*x.list)[i] = nil
  6936  	}
  6937  	*x.list = (*x.list)[:n]
  6938  }
  6939  
  6940  func (x *_TestVersion1_4_list) NewElement() protoreflect.Value {
  6941  	v := new(TestVersion1)
  6942  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  6943  }
  6944  
  6945  func (x *_TestVersion1_4_list) IsValid() bool {
  6946  	return x.list != nil
  6947  }
  6948  
  6949  var _ protoreflect.List = (*_TestVersion1_5_list)(nil)
  6950  
  6951  type _TestVersion1_5_list struct {
  6952  	list *[]*TestVersion1
  6953  }
  6954  
  6955  func (x *_TestVersion1_5_list) Len() int {
  6956  	if x.list == nil {
  6957  		return 0
  6958  	}
  6959  	return len(*x.list)
  6960  }
  6961  
  6962  func (x *_TestVersion1_5_list) Get(i int) protoreflect.Value {
  6963  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  6964  }
  6965  
  6966  func (x *_TestVersion1_5_list) Set(i int, value protoreflect.Value) {
  6967  	valueUnwrapped := value.Message()
  6968  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  6969  	(*x.list)[i] = concreteValue
  6970  }
  6971  
  6972  func (x *_TestVersion1_5_list) Append(value protoreflect.Value) {
  6973  	valueUnwrapped := value.Message()
  6974  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  6975  	*x.list = append(*x.list, concreteValue)
  6976  }
  6977  
  6978  func (x *_TestVersion1_5_list) AppendMutable() protoreflect.Value {
  6979  	v := new(TestVersion1)
  6980  	*x.list = append(*x.list, v)
  6981  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  6982  }
  6983  
  6984  func (x *_TestVersion1_5_list) Truncate(n int) {
  6985  	for i := n; i < len(*x.list); i++ {
  6986  		(*x.list)[i] = nil
  6987  	}
  6988  	*x.list = (*x.list)[:n]
  6989  }
  6990  
  6991  func (x *_TestVersion1_5_list) NewElement() protoreflect.Value {
  6992  	v := new(TestVersion1)
  6993  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  6994  }
  6995  
  6996  func (x *_TestVersion1_5_list) IsValid() bool {
  6997  	return x.list != nil
  6998  }
  6999  
  7000  var _ protoreflect.List = (*_TestVersion1_9_list)(nil)
  7001  
  7002  type _TestVersion1_9_list struct {
  7003  	list *[]*TestVersion1
  7004  }
  7005  
  7006  func (x *_TestVersion1_9_list) Len() int {
  7007  	if x.list == nil {
  7008  		return 0
  7009  	}
  7010  	return len(*x.list)
  7011  }
  7012  
  7013  func (x *_TestVersion1_9_list) Get(i int) protoreflect.Value {
  7014  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  7015  }
  7016  
  7017  func (x *_TestVersion1_9_list) Set(i int, value protoreflect.Value) {
  7018  	valueUnwrapped := value.Message()
  7019  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  7020  	(*x.list)[i] = concreteValue
  7021  }
  7022  
  7023  func (x *_TestVersion1_9_list) Append(value protoreflect.Value) {
  7024  	valueUnwrapped := value.Message()
  7025  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  7026  	*x.list = append(*x.list, concreteValue)
  7027  }
  7028  
  7029  func (x *_TestVersion1_9_list) AppendMutable() protoreflect.Value {
  7030  	v := new(TestVersion1)
  7031  	*x.list = append(*x.list, v)
  7032  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  7033  }
  7034  
  7035  func (x *_TestVersion1_9_list) Truncate(n int) {
  7036  	for i := n; i < len(*x.list); i++ {
  7037  		(*x.list)[i] = nil
  7038  	}
  7039  	*x.list = (*x.list)[:n]
  7040  }
  7041  
  7042  func (x *_TestVersion1_9_list) NewElement() protoreflect.Value {
  7043  	v := new(TestVersion1)
  7044  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  7045  }
  7046  
  7047  func (x *_TestVersion1_9_list) IsValid() bool {
  7048  	return x.list != nil
  7049  }
  7050  
  7051  var (
  7052  	md_TestVersion1   protoreflect.MessageDescriptor
  7053  	fd_TestVersion1_x protoreflect.FieldDescriptor
  7054  	fd_TestVersion1_a protoreflect.FieldDescriptor
  7055  	fd_TestVersion1_b protoreflect.FieldDescriptor
  7056  	fd_TestVersion1_c protoreflect.FieldDescriptor
  7057  	fd_TestVersion1_d protoreflect.FieldDescriptor
  7058  	fd_TestVersion1_e protoreflect.FieldDescriptor
  7059  	fd_TestVersion1_f protoreflect.FieldDescriptor
  7060  	fd_TestVersion1_g protoreflect.FieldDescriptor
  7061  	fd_TestVersion1_h protoreflect.FieldDescriptor
  7062  	fd_TestVersion1_k protoreflect.FieldDescriptor
  7063  )
  7064  
  7065  func init() {
  7066  	file_testpb_unknonwnproto_proto_init()
  7067  	md_TestVersion1 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion1")
  7068  	fd_TestVersion1_x = md_TestVersion1.Fields().ByName("x")
  7069  	fd_TestVersion1_a = md_TestVersion1.Fields().ByName("a")
  7070  	fd_TestVersion1_b = md_TestVersion1.Fields().ByName("b")
  7071  	fd_TestVersion1_c = md_TestVersion1.Fields().ByName("c")
  7072  	fd_TestVersion1_d = md_TestVersion1.Fields().ByName("d")
  7073  	fd_TestVersion1_e = md_TestVersion1.Fields().ByName("e")
  7074  	fd_TestVersion1_f = md_TestVersion1.Fields().ByName("f")
  7075  	fd_TestVersion1_g = md_TestVersion1.Fields().ByName("g")
  7076  	fd_TestVersion1_h = md_TestVersion1.Fields().ByName("h")
  7077  	fd_TestVersion1_k = md_TestVersion1.Fields().ByName("k")
  7078  }
  7079  
  7080  var _ protoreflect.Message = (*fastReflection_TestVersion1)(nil)
  7081  
  7082  type fastReflection_TestVersion1 TestVersion1
  7083  
  7084  func (x *TestVersion1) ProtoReflect() protoreflect.Message {
  7085  	return (*fastReflection_TestVersion1)(x)
  7086  }
  7087  
  7088  func (x *TestVersion1) slowProtoReflect() protoreflect.Message {
  7089  	mi := &file_testpb_unknonwnproto_proto_msgTypes[11]
  7090  	if protoimpl.UnsafeEnabled && x != nil {
  7091  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  7092  		if ms.LoadMessageInfo() == nil {
  7093  			ms.StoreMessageInfo(mi)
  7094  		}
  7095  		return ms
  7096  	}
  7097  	return mi.MessageOf(x)
  7098  }
  7099  
  7100  var _fastReflection_TestVersion1_messageType fastReflection_TestVersion1_messageType
  7101  var _ protoreflect.MessageType = fastReflection_TestVersion1_messageType{}
  7102  
  7103  type fastReflection_TestVersion1_messageType struct{}
  7104  
  7105  func (x fastReflection_TestVersion1_messageType) Zero() protoreflect.Message {
  7106  	return (*fastReflection_TestVersion1)(nil)
  7107  }
  7108  func (x fastReflection_TestVersion1_messageType) New() protoreflect.Message {
  7109  	return new(fastReflection_TestVersion1)
  7110  }
  7111  func (x fastReflection_TestVersion1_messageType) Descriptor() protoreflect.MessageDescriptor {
  7112  	return md_TestVersion1
  7113  }
  7114  
  7115  // Descriptor returns message descriptor, which contains only the protobuf
  7116  // type information for the message.
  7117  func (x *fastReflection_TestVersion1) Descriptor() protoreflect.MessageDescriptor {
  7118  	return md_TestVersion1
  7119  }
  7120  
  7121  // Type returns the message type, which encapsulates both Go and protobuf
  7122  // type information. If the Go type information is not needed,
  7123  // it is recommended that the message descriptor be used instead.
  7124  func (x *fastReflection_TestVersion1) Type() protoreflect.MessageType {
  7125  	return _fastReflection_TestVersion1_messageType
  7126  }
  7127  
  7128  // New returns a newly allocated and mutable empty message.
  7129  func (x *fastReflection_TestVersion1) New() protoreflect.Message {
  7130  	return new(fastReflection_TestVersion1)
  7131  }
  7132  
  7133  // Interface unwraps the message reflection interface and
  7134  // returns the underlying ProtoMessage interface.
  7135  func (x *fastReflection_TestVersion1) Interface() protoreflect.ProtoMessage {
  7136  	return (*TestVersion1)(x)
  7137  }
  7138  
  7139  // Range iterates over every populated field in an undefined order,
  7140  // calling f for each field descriptor and value encountered.
  7141  // Range returns immediately if f returns false.
  7142  // While iterating, mutating operations may only be performed
  7143  // on the current field descriptor.
  7144  func (x *fastReflection_TestVersion1) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  7145  	if x.X != int64(0) {
  7146  		value := protoreflect.ValueOfInt64(x.X)
  7147  		if !f(fd_TestVersion1_x, value) {
  7148  			return
  7149  		}
  7150  	}
  7151  	if x.A != nil {
  7152  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
  7153  		if !f(fd_TestVersion1_a, value) {
  7154  			return
  7155  		}
  7156  	}
  7157  	if x.B != nil {
  7158  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
  7159  		if !f(fd_TestVersion1_b, value) {
  7160  			return
  7161  		}
  7162  	}
  7163  	if len(x.C) != 0 {
  7164  		value := protoreflect.ValueOfList(&_TestVersion1_4_list{list: &x.C})
  7165  		if !f(fd_TestVersion1_c, value) {
  7166  			return
  7167  		}
  7168  	}
  7169  	if len(x.D) != 0 {
  7170  		value := protoreflect.ValueOfList(&_TestVersion1_5_list{list: &x.D})
  7171  		if !f(fd_TestVersion1_d, value) {
  7172  			return
  7173  		}
  7174  	}
  7175  	if x.Sum != nil {
  7176  		switch o := x.Sum.(type) {
  7177  		case *TestVersion1_E:
  7178  			v := o.E
  7179  			value := protoreflect.ValueOfInt32(v)
  7180  			if !f(fd_TestVersion1_e, value) {
  7181  				return
  7182  			}
  7183  		case *TestVersion1_F:
  7184  			v := o.F
  7185  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
  7186  			if !f(fd_TestVersion1_f, value) {
  7187  				return
  7188  			}
  7189  		}
  7190  	}
  7191  	if x.G != nil {
  7192  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
  7193  		if !f(fd_TestVersion1_g, value) {
  7194  			return
  7195  		}
  7196  	}
  7197  	if len(x.H) != 0 {
  7198  		value := protoreflect.ValueOfList(&_TestVersion1_9_list{list: &x.H})
  7199  		if !f(fd_TestVersion1_h, value) {
  7200  			return
  7201  		}
  7202  	}
  7203  	if x.K != nil {
  7204  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
  7205  		if !f(fd_TestVersion1_k, value) {
  7206  			return
  7207  		}
  7208  	}
  7209  }
  7210  
  7211  // Has reports whether a field is populated.
  7212  //
  7213  // Some fields have the property of nullability where it is possible to
  7214  // distinguish between the default value of a field and whether the field
  7215  // was explicitly populated with the default value. Singular message fields,
  7216  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  7217  // fields are populated only if explicitly set.
  7218  //
  7219  // In other cases (aside from the nullable cases above),
  7220  // a proto3 scalar field is populated if it contains a non-zero value, and
  7221  // a repeated field is populated if it is non-empty.
  7222  func (x *fastReflection_TestVersion1) Has(fd protoreflect.FieldDescriptor) bool {
  7223  	switch fd.FullName() {
  7224  	case "testpb.TestVersion1.x":
  7225  		return x.X != int64(0)
  7226  	case "testpb.TestVersion1.a":
  7227  		return x.A != nil
  7228  	case "testpb.TestVersion1.b":
  7229  		return x.B != nil
  7230  	case "testpb.TestVersion1.c":
  7231  		return len(x.C) != 0
  7232  	case "testpb.TestVersion1.d":
  7233  		return len(x.D) != 0
  7234  	case "testpb.TestVersion1.e":
  7235  		if x.Sum == nil {
  7236  			return false
  7237  		} else if _, ok := x.Sum.(*TestVersion1_E); ok {
  7238  			return true
  7239  		} else {
  7240  			return false
  7241  		}
  7242  	case "testpb.TestVersion1.f":
  7243  		if x.Sum == nil {
  7244  			return false
  7245  		} else if _, ok := x.Sum.(*TestVersion1_F); ok {
  7246  			return true
  7247  		} else {
  7248  			return false
  7249  		}
  7250  	case "testpb.TestVersion1.g":
  7251  		return x.G != nil
  7252  	case "testpb.TestVersion1.h":
  7253  		return len(x.H) != 0
  7254  	case "testpb.TestVersion1.k":
  7255  		return x.K != nil
  7256  	default:
  7257  		if fd.IsExtension() {
  7258  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7259  		}
  7260  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", fd.FullName()))
  7261  	}
  7262  }
  7263  
  7264  // Clear clears the field such that a subsequent Has call reports false.
  7265  //
  7266  // Clearing an extension field clears both the extension type and value
  7267  // associated with the given field number.
  7268  //
  7269  // Clear is a mutating operation and unsafe for concurrent use.
  7270  func (x *fastReflection_TestVersion1) Clear(fd protoreflect.FieldDescriptor) {
  7271  	switch fd.FullName() {
  7272  	case "testpb.TestVersion1.x":
  7273  		x.X = int64(0)
  7274  	case "testpb.TestVersion1.a":
  7275  		x.A = nil
  7276  	case "testpb.TestVersion1.b":
  7277  		x.B = nil
  7278  	case "testpb.TestVersion1.c":
  7279  		x.C = nil
  7280  	case "testpb.TestVersion1.d":
  7281  		x.D = nil
  7282  	case "testpb.TestVersion1.e":
  7283  		x.Sum = nil
  7284  	case "testpb.TestVersion1.f":
  7285  		x.Sum = nil
  7286  	case "testpb.TestVersion1.g":
  7287  		x.G = nil
  7288  	case "testpb.TestVersion1.h":
  7289  		x.H = nil
  7290  	case "testpb.TestVersion1.k":
  7291  		x.K = nil
  7292  	default:
  7293  		if fd.IsExtension() {
  7294  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7295  		}
  7296  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", fd.FullName()))
  7297  	}
  7298  }
  7299  
  7300  // Get retrieves the value for a field.
  7301  //
  7302  // For unpopulated scalars, it returns the default value, where
  7303  // the default value of a bytes scalar is guaranteed to be a copy.
  7304  // For unpopulated composite types, it returns an empty, read-only view
  7305  // of the value; to obtain a mutable reference, use Mutable.
  7306  func (x *fastReflection_TestVersion1) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  7307  	switch descriptor.FullName() {
  7308  	case "testpb.TestVersion1.x":
  7309  		value := x.X
  7310  		return protoreflect.ValueOfInt64(value)
  7311  	case "testpb.TestVersion1.a":
  7312  		value := x.A
  7313  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  7314  	case "testpb.TestVersion1.b":
  7315  		value := x.B
  7316  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  7317  	case "testpb.TestVersion1.c":
  7318  		if len(x.C) == 0 {
  7319  			return protoreflect.ValueOfList(&_TestVersion1_4_list{})
  7320  		}
  7321  		listValue := &_TestVersion1_4_list{list: &x.C}
  7322  		return protoreflect.ValueOfList(listValue)
  7323  	case "testpb.TestVersion1.d":
  7324  		if len(x.D) == 0 {
  7325  			return protoreflect.ValueOfList(&_TestVersion1_5_list{})
  7326  		}
  7327  		listValue := &_TestVersion1_5_list{list: &x.D}
  7328  		return protoreflect.ValueOfList(listValue)
  7329  	case "testpb.TestVersion1.e":
  7330  		if x.Sum == nil {
  7331  			return protoreflect.ValueOfInt32(int32(0))
  7332  		} else if v, ok := x.Sum.(*TestVersion1_E); ok {
  7333  			return protoreflect.ValueOfInt32(v.E)
  7334  		} else {
  7335  			return protoreflect.ValueOfInt32(int32(0))
  7336  		}
  7337  	case "testpb.TestVersion1.f":
  7338  		if x.Sum == nil {
  7339  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
  7340  		} else if v, ok := x.Sum.(*TestVersion1_F); ok {
  7341  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
  7342  		} else {
  7343  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
  7344  		}
  7345  	case "testpb.TestVersion1.g":
  7346  		value := x.G
  7347  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  7348  	case "testpb.TestVersion1.h":
  7349  		if len(x.H) == 0 {
  7350  			return protoreflect.ValueOfList(&_TestVersion1_9_list{})
  7351  		}
  7352  		listValue := &_TestVersion1_9_list{list: &x.H}
  7353  		return protoreflect.ValueOfList(listValue)
  7354  	case "testpb.TestVersion1.k":
  7355  		value := x.K
  7356  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  7357  	default:
  7358  		if descriptor.IsExtension() {
  7359  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7360  		}
  7361  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", descriptor.FullName()))
  7362  	}
  7363  }
  7364  
  7365  // Set stores the value for a field.
  7366  //
  7367  // For a field belonging to a oneof, it implicitly clears any other field
  7368  // that may be currently set within the same oneof.
  7369  // For extension fields, it implicitly stores the provided ExtensionType.
  7370  // When setting a composite type, it is unspecified whether the stored value
  7371  // aliases the source's memory in any way. If the composite value is an
  7372  // empty, read-only value, then it panics.
  7373  //
  7374  // Set is a mutating operation and unsafe for concurrent use.
  7375  func (x *fastReflection_TestVersion1) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  7376  	switch fd.FullName() {
  7377  	case "testpb.TestVersion1.x":
  7378  		x.X = value.Int()
  7379  	case "testpb.TestVersion1.a":
  7380  		x.A = value.Message().Interface().(*TestVersion1)
  7381  	case "testpb.TestVersion1.b":
  7382  		x.B = value.Message().Interface().(*TestVersion1)
  7383  	case "testpb.TestVersion1.c":
  7384  		lv := value.List()
  7385  		clv := lv.(*_TestVersion1_4_list)
  7386  		x.C = *clv.list
  7387  	case "testpb.TestVersion1.d":
  7388  		lv := value.List()
  7389  		clv := lv.(*_TestVersion1_5_list)
  7390  		x.D = *clv.list
  7391  	case "testpb.TestVersion1.e":
  7392  		cv := int32(value.Int())
  7393  		x.Sum = &TestVersion1_E{E: cv}
  7394  	case "testpb.TestVersion1.f":
  7395  		cv := value.Message().Interface().(*TestVersion1)
  7396  		x.Sum = &TestVersion1_F{F: cv}
  7397  	case "testpb.TestVersion1.g":
  7398  		x.G = value.Message().Interface().(*anypb.Any)
  7399  	case "testpb.TestVersion1.h":
  7400  		lv := value.List()
  7401  		clv := lv.(*_TestVersion1_9_list)
  7402  		x.H = *clv.list
  7403  	case "testpb.TestVersion1.k":
  7404  		x.K = value.Message().Interface().(*Customer1)
  7405  	default:
  7406  		if fd.IsExtension() {
  7407  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7408  		}
  7409  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", fd.FullName()))
  7410  	}
  7411  }
  7412  
  7413  // Mutable returns a mutable reference to a composite type.
  7414  //
  7415  // If the field is unpopulated, it may allocate a composite value.
  7416  // For a field belonging to a oneof, it implicitly clears any other field
  7417  // that may be currently set within the same oneof.
  7418  // For extension fields, it implicitly stores the provided ExtensionType
  7419  // if not already stored.
  7420  // It panics if the field does not contain a composite type.
  7421  //
  7422  // Mutable is a mutating operation and unsafe for concurrent use.
  7423  func (x *fastReflection_TestVersion1) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  7424  	switch fd.FullName() {
  7425  	case "testpb.TestVersion1.a":
  7426  		if x.A == nil {
  7427  			x.A = new(TestVersion1)
  7428  		}
  7429  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
  7430  	case "testpb.TestVersion1.b":
  7431  		if x.B == nil {
  7432  			x.B = new(TestVersion1)
  7433  		}
  7434  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
  7435  	case "testpb.TestVersion1.c":
  7436  		if x.C == nil {
  7437  			x.C = []*TestVersion1{}
  7438  		}
  7439  		value := &_TestVersion1_4_list{list: &x.C}
  7440  		return protoreflect.ValueOfList(value)
  7441  	case "testpb.TestVersion1.d":
  7442  		if x.D == nil {
  7443  			x.D = []*TestVersion1{}
  7444  		}
  7445  		value := &_TestVersion1_5_list{list: &x.D}
  7446  		return protoreflect.ValueOfList(value)
  7447  	case "testpb.TestVersion1.f":
  7448  		if x.Sum == nil {
  7449  			value := &TestVersion1{}
  7450  			oneofValue := &TestVersion1_F{F: value}
  7451  			x.Sum = oneofValue
  7452  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  7453  		}
  7454  		switch m := x.Sum.(type) {
  7455  		case *TestVersion1_F:
  7456  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
  7457  		default:
  7458  			value := &TestVersion1{}
  7459  			oneofValue := &TestVersion1_F{F: value}
  7460  			x.Sum = oneofValue
  7461  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  7462  		}
  7463  	case "testpb.TestVersion1.g":
  7464  		if x.G == nil {
  7465  			x.G = new(anypb.Any)
  7466  		}
  7467  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
  7468  	case "testpb.TestVersion1.h":
  7469  		if x.H == nil {
  7470  			x.H = []*TestVersion1{}
  7471  		}
  7472  		value := &_TestVersion1_9_list{list: &x.H}
  7473  		return protoreflect.ValueOfList(value)
  7474  	case "testpb.TestVersion1.k":
  7475  		if x.K == nil {
  7476  			x.K = new(Customer1)
  7477  		}
  7478  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
  7479  	case "testpb.TestVersion1.x":
  7480  		panic(fmt.Errorf("field x of message testpb.TestVersion1 is not mutable"))
  7481  	case "testpb.TestVersion1.e":
  7482  		panic(fmt.Errorf("field e of message testpb.TestVersion1 is not mutable"))
  7483  	default:
  7484  		if fd.IsExtension() {
  7485  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7486  		}
  7487  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", fd.FullName()))
  7488  	}
  7489  }
  7490  
  7491  // NewField returns a new value that is assignable to the field
  7492  // for the given descriptor. For scalars, this returns the default value.
  7493  // For lists, maps, and messages, this returns a new, empty, mutable value.
  7494  func (x *fastReflection_TestVersion1) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  7495  	switch fd.FullName() {
  7496  	case "testpb.TestVersion1.x":
  7497  		return protoreflect.ValueOfInt64(int64(0))
  7498  	case "testpb.TestVersion1.a":
  7499  		m := new(TestVersion1)
  7500  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  7501  	case "testpb.TestVersion1.b":
  7502  		m := new(TestVersion1)
  7503  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  7504  	case "testpb.TestVersion1.c":
  7505  		list := []*TestVersion1{}
  7506  		return protoreflect.ValueOfList(&_TestVersion1_4_list{list: &list})
  7507  	case "testpb.TestVersion1.d":
  7508  		list := []*TestVersion1{}
  7509  		return protoreflect.ValueOfList(&_TestVersion1_5_list{list: &list})
  7510  	case "testpb.TestVersion1.e":
  7511  		return protoreflect.ValueOfInt32(int32(0))
  7512  	case "testpb.TestVersion1.f":
  7513  		value := &TestVersion1{}
  7514  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  7515  	case "testpb.TestVersion1.g":
  7516  		m := new(anypb.Any)
  7517  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  7518  	case "testpb.TestVersion1.h":
  7519  		list := []*TestVersion1{}
  7520  		return protoreflect.ValueOfList(&_TestVersion1_9_list{list: &list})
  7521  	case "testpb.TestVersion1.k":
  7522  		m := new(Customer1)
  7523  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  7524  	default:
  7525  		if fd.IsExtension() {
  7526  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion1"))
  7527  		}
  7528  		panic(fmt.Errorf("message testpb.TestVersion1 does not contain field %s", fd.FullName()))
  7529  	}
  7530  }
  7531  
  7532  // WhichOneof reports which field within the oneof is populated,
  7533  // returning nil if none are populated.
  7534  // It panics if the oneof descriptor does not belong to this message.
  7535  func (x *fastReflection_TestVersion1) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  7536  	switch d.FullName() {
  7537  	case "testpb.TestVersion1.sum":
  7538  		if x.Sum == nil {
  7539  			return nil
  7540  		}
  7541  		switch x.Sum.(type) {
  7542  		case *TestVersion1_E:
  7543  			return x.Descriptor().Fields().ByName("e")
  7544  		case *TestVersion1_F:
  7545  			return x.Descriptor().Fields().ByName("f")
  7546  		}
  7547  	default:
  7548  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion1", d.FullName()))
  7549  	}
  7550  	panic("unreachable")
  7551  }
  7552  
  7553  // GetUnknown retrieves the entire list of unknown fields.
  7554  // The caller may only mutate the contents of the RawFields
  7555  // if the mutated bytes are stored back into the message with SetUnknown.
  7556  func (x *fastReflection_TestVersion1) GetUnknown() protoreflect.RawFields {
  7557  	return x.unknownFields
  7558  }
  7559  
  7560  // SetUnknown stores an entire list of unknown fields.
  7561  // The raw fields must be syntactically valid according to the wire format.
  7562  // An implementation may panic if this is not the case.
  7563  // Once stored, the caller must not mutate the content of the RawFields.
  7564  // An empty RawFields may be passed to clear the fields.
  7565  //
  7566  // SetUnknown is a mutating operation and unsafe for concurrent use.
  7567  func (x *fastReflection_TestVersion1) SetUnknown(fields protoreflect.RawFields) {
  7568  	x.unknownFields = fields
  7569  }
  7570  
  7571  // IsValid reports whether the message is valid.
  7572  //
  7573  // An invalid message is an empty, read-only value.
  7574  //
  7575  // An invalid message often corresponds to a nil pointer of the concrete
  7576  // message type, but the details are implementation dependent.
  7577  // Validity is not part of the protobuf data model, and may not
  7578  // be preserved in marshaling or other operations.
  7579  func (x *fastReflection_TestVersion1) IsValid() bool {
  7580  	return x != nil
  7581  }
  7582  
  7583  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  7584  // This method may return nil.
  7585  //
  7586  // The returned methods type is identical to
  7587  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  7588  // Consult the protoiface package documentation for details.
  7589  func (x *fastReflection_TestVersion1) ProtoMethods() *protoiface.Methods {
  7590  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  7591  		x := input.Message.Interface().(*TestVersion1)
  7592  		if x == nil {
  7593  			return protoiface.SizeOutput{
  7594  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7595  				Size:              0,
  7596  			}
  7597  		}
  7598  		options := runtime.SizeInputToOptions(input)
  7599  		_ = options
  7600  		var n int
  7601  		var l int
  7602  		_ = l
  7603  		if x.X != 0 {
  7604  			n += 1 + runtime.Sov(uint64(x.X))
  7605  		}
  7606  		if x.A != nil {
  7607  			l = options.Size(x.A)
  7608  			n += 1 + l + runtime.Sov(uint64(l))
  7609  		}
  7610  		if x.B != nil {
  7611  			l = options.Size(x.B)
  7612  			n += 1 + l + runtime.Sov(uint64(l))
  7613  		}
  7614  		if len(x.C) > 0 {
  7615  			for _, e := range x.C {
  7616  				l = options.Size(e)
  7617  				n += 1 + l + runtime.Sov(uint64(l))
  7618  			}
  7619  		}
  7620  		if len(x.D) > 0 {
  7621  			for _, e := range x.D {
  7622  				l = options.Size(e)
  7623  				n += 1 + l + runtime.Sov(uint64(l))
  7624  			}
  7625  		}
  7626  		switch x := x.Sum.(type) {
  7627  		case *TestVersion1_E:
  7628  			if x == nil {
  7629  				break
  7630  			}
  7631  			n += 1 + runtime.Sov(uint64(x.E))
  7632  		case *TestVersion1_F:
  7633  			if x == nil {
  7634  				break
  7635  			}
  7636  			l = options.Size(x.F)
  7637  			n += 1 + l + runtime.Sov(uint64(l))
  7638  		}
  7639  		if x.G != nil {
  7640  			l = options.Size(x.G)
  7641  			n += 1 + l + runtime.Sov(uint64(l))
  7642  		}
  7643  		if len(x.H) > 0 {
  7644  			for _, e := range x.H {
  7645  				l = options.Size(e)
  7646  				n += 1 + l + runtime.Sov(uint64(l))
  7647  			}
  7648  		}
  7649  		if x.K != nil {
  7650  			l = options.Size(x.K)
  7651  			n += 1 + l + runtime.Sov(uint64(l))
  7652  		}
  7653  		if x.unknownFields != nil {
  7654  			n += len(x.unknownFields)
  7655  		}
  7656  		return protoiface.SizeOutput{
  7657  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7658  			Size:              n,
  7659  		}
  7660  	}
  7661  
  7662  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  7663  		x := input.Message.Interface().(*TestVersion1)
  7664  		if x == nil {
  7665  			return protoiface.MarshalOutput{
  7666  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7667  				Buf:               input.Buf,
  7668  			}, nil
  7669  		}
  7670  		options := runtime.MarshalInputToOptions(input)
  7671  		_ = options
  7672  		size := options.Size(x)
  7673  		dAtA := make([]byte, size)
  7674  		i := len(dAtA)
  7675  		_ = i
  7676  		var l int
  7677  		_ = l
  7678  		if x.unknownFields != nil {
  7679  			i -= len(x.unknownFields)
  7680  			copy(dAtA[i:], x.unknownFields)
  7681  		}
  7682  		switch x := x.Sum.(type) {
  7683  		case *TestVersion1_E:
  7684  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
  7685  			i--
  7686  			dAtA[i] = 0x30
  7687  		case *TestVersion1_F:
  7688  			encoded, err := options.Marshal(x.F)
  7689  			if err != nil {
  7690  				return protoiface.MarshalOutput{
  7691  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7692  					Buf:               input.Buf,
  7693  				}, err
  7694  			}
  7695  			i -= len(encoded)
  7696  			copy(dAtA[i:], encoded)
  7697  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7698  			i--
  7699  			dAtA[i] = 0x3a
  7700  		}
  7701  		if x.K != nil {
  7702  			encoded, err := options.Marshal(x.K)
  7703  			if err != nil {
  7704  				return protoiface.MarshalOutput{
  7705  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7706  					Buf:               input.Buf,
  7707  				}, err
  7708  			}
  7709  			i -= len(encoded)
  7710  			copy(dAtA[i:], encoded)
  7711  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7712  			i--
  7713  			dAtA[i] = 0x62
  7714  		}
  7715  		if len(x.H) > 0 {
  7716  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
  7717  				encoded, err := options.Marshal(x.H[iNdEx])
  7718  				if err != nil {
  7719  					return protoiface.MarshalOutput{
  7720  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7721  						Buf:               input.Buf,
  7722  					}, err
  7723  				}
  7724  				i -= len(encoded)
  7725  				copy(dAtA[i:], encoded)
  7726  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7727  				i--
  7728  				dAtA[i] = 0x4a
  7729  			}
  7730  		}
  7731  		if x.G != nil {
  7732  			encoded, err := options.Marshal(x.G)
  7733  			if err != nil {
  7734  				return protoiface.MarshalOutput{
  7735  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7736  					Buf:               input.Buf,
  7737  				}, err
  7738  			}
  7739  			i -= len(encoded)
  7740  			copy(dAtA[i:], encoded)
  7741  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7742  			i--
  7743  			dAtA[i] = 0x42
  7744  		}
  7745  		if len(x.D) > 0 {
  7746  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
  7747  				encoded, err := options.Marshal(x.D[iNdEx])
  7748  				if err != nil {
  7749  					return protoiface.MarshalOutput{
  7750  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7751  						Buf:               input.Buf,
  7752  					}, err
  7753  				}
  7754  				i -= len(encoded)
  7755  				copy(dAtA[i:], encoded)
  7756  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7757  				i--
  7758  				dAtA[i] = 0x2a
  7759  			}
  7760  		}
  7761  		if len(x.C) > 0 {
  7762  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
  7763  				encoded, err := options.Marshal(x.C[iNdEx])
  7764  				if err != nil {
  7765  					return protoiface.MarshalOutput{
  7766  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7767  						Buf:               input.Buf,
  7768  					}, err
  7769  				}
  7770  				i -= len(encoded)
  7771  				copy(dAtA[i:], encoded)
  7772  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7773  				i--
  7774  				dAtA[i] = 0x22
  7775  			}
  7776  		}
  7777  		if x.B != nil {
  7778  			encoded, err := options.Marshal(x.B)
  7779  			if err != nil {
  7780  				return protoiface.MarshalOutput{
  7781  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7782  					Buf:               input.Buf,
  7783  				}, err
  7784  			}
  7785  			i -= len(encoded)
  7786  			copy(dAtA[i:], encoded)
  7787  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7788  			i--
  7789  			dAtA[i] = 0x1a
  7790  		}
  7791  		if x.A != nil {
  7792  			encoded, err := options.Marshal(x.A)
  7793  			if err != nil {
  7794  				return protoiface.MarshalOutput{
  7795  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7796  					Buf:               input.Buf,
  7797  				}, err
  7798  			}
  7799  			i -= len(encoded)
  7800  			copy(dAtA[i:], encoded)
  7801  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  7802  			i--
  7803  			dAtA[i] = 0x12
  7804  		}
  7805  		if x.X != 0 {
  7806  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
  7807  			i--
  7808  			dAtA[i] = 0x8
  7809  		}
  7810  		if input.Buf != nil {
  7811  			input.Buf = append(input.Buf, dAtA...)
  7812  		} else {
  7813  			input.Buf = dAtA
  7814  		}
  7815  		return protoiface.MarshalOutput{
  7816  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7817  			Buf:               input.Buf,
  7818  		}, nil
  7819  	}
  7820  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  7821  		x := input.Message.Interface().(*TestVersion1)
  7822  		if x == nil {
  7823  			return protoiface.UnmarshalOutput{
  7824  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  7825  				Flags:             input.Flags,
  7826  			}, nil
  7827  		}
  7828  		options := runtime.UnmarshalInputToOptions(input)
  7829  		_ = options
  7830  		dAtA := input.Buf
  7831  		l := len(dAtA)
  7832  		iNdEx := 0
  7833  		for iNdEx < l {
  7834  			preIndex := iNdEx
  7835  			var wire uint64
  7836  			for shift := uint(0); ; shift += 7 {
  7837  				if shift >= 64 {
  7838  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7839  				}
  7840  				if iNdEx >= l {
  7841  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7842  				}
  7843  				b := dAtA[iNdEx]
  7844  				iNdEx++
  7845  				wire |= uint64(b&0x7F) << shift
  7846  				if b < 0x80 {
  7847  					break
  7848  				}
  7849  			}
  7850  			fieldNum := int32(wire >> 3)
  7851  			wireType := int(wire & 0x7)
  7852  			if wireType == 4 {
  7853  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion1: wiretype end group for non-group")
  7854  			}
  7855  			if fieldNum <= 0 {
  7856  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion1: illegal tag %d (wire type %d)", fieldNum, wire)
  7857  			}
  7858  			switch fieldNum {
  7859  			case 1:
  7860  				if wireType != 0 {
  7861  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  7862  				}
  7863  				x.X = 0
  7864  				for shift := uint(0); ; shift += 7 {
  7865  					if shift >= 64 {
  7866  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7867  					}
  7868  					if iNdEx >= l {
  7869  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7870  					}
  7871  					b := dAtA[iNdEx]
  7872  					iNdEx++
  7873  					x.X |= int64(b&0x7F) << shift
  7874  					if b < 0x80 {
  7875  						break
  7876  					}
  7877  				}
  7878  			case 2:
  7879  				if wireType != 2 {
  7880  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  7881  				}
  7882  				var msglen int
  7883  				for shift := uint(0); ; shift += 7 {
  7884  					if shift >= 64 {
  7885  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7886  					}
  7887  					if iNdEx >= l {
  7888  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7889  					}
  7890  					b := dAtA[iNdEx]
  7891  					iNdEx++
  7892  					msglen |= int(b&0x7F) << shift
  7893  					if b < 0x80 {
  7894  						break
  7895  					}
  7896  				}
  7897  				if msglen < 0 {
  7898  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7899  				}
  7900  				postIndex := iNdEx + msglen
  7901  				if postIndex < 0 {
  7902  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7903  				}
  7904  				if postIndex > l {
  7905  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7906  				}
  7907  				if x.A == nil {
  7908  					x.A = &TestVersion1{}
  7909  				}
  7910  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
  7911  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  7912  				}
  7913  				iNdEx = postIndex
  7914  			case 3:
  7915  				if wireType != 2 {
  7916  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  7917  				}
  7918  				var msglen int
  7919  				for shift := uint(0); ; shift += 7 {
  7920  					if shift >= 64 {
  7921  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7922  					}
  7923  					if iNdEx >= l {
  7924  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7925  					}
  7926  					b := dAtA[iNdEx]
  7927  					iNdEx++
  7928  					msglen |= int(b&0x7F) << shift
  7929  					if b < 0x80 {
  7930  						break
  7931  					}
  7932  				}
  7933  				if msglen < 0 {
  7934  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7935  				}
  7936  				postIndex := iNdEx + msglen
  7937  				if postIndex < 0 {
  7938  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7939  				}
  7940  				if postIndex > l {
  7941  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7942  				}
  7943  				if x.B == nil {
  7944  					x.B = &TestVersion1{}
  7945  				}
  7946  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
  7947  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  7948  				}
  7949  				iNdEx = postIndex
  7950  			case 4:
  7951  				if wireType != 2 {
  7952  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  7953  				}
  7954  				var msglen int
  7955  				for shift := uint(0); ; shift += 7 {
  7956  					if shift >= 64 {
  7957  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7958  					}
  7959  					if iNdEx >= l {
  7960  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7961  					}
  7962  					b := dAtA[iNdEx]
  7963  					iNdEx++
  7964  					msglen |= int(b&0x7F) << shift
  7965  					if b < 0x80 {
  7966  						break
  7967  					}
  7968  				}
  7969  				if msglen < 0 {
  7970  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7971  				}
  7972  				postIndex := iNdEx + msglen
  7973  				if postIndex < 0 {
  7974  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7975  				}
  7976  				if postIndex > l {
  7977  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7978  				}
  7979  				x.C = append(x.C, &TestVersion1{})
  7980  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
  7981  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  7982  				}
  7983  				iNdEx = postIndex
  7984  			case 5:
  7985  				if wireType != 2 {
  7986  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  7987  				}
  7988  				var msglen int
  7989  				for shift := uint(0); ; shift += 7 {
  7990  					if shift >= 64 {
  7991  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7992  					}
  7993  					if iNdEx >= l {
  7994  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7995  					}
  7996  					b := dAtA[iNdEx]
  7997  					iNdEx++
  7998  					msglen |= int(b&0x7F) << shift
  7999  					if b < 0x80 {
  8000  						break
  8001  					}
  8002  				}
  8003  				if msglen < 0 {
  8004  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8005  				}
  8006  				postIndex := iNdEx + msglen
  8007  				if postIndex < 0 {
  8008  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8009  				}
  8010  				if postIndex > l {
  8011  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8012  				}
  8013  				x.D = append(x.D, &TestVersion1{})
  8014  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
  8015  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8016  				}
  8017  				iNdEx = postIndex
  8018  			case 6:
  8019  				if wireType != 0 {
  8020  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  8021  				}
  8022  				var v int32
  8023  				for shift := uint(0); ; shift += 7 {
  8024  					if shift >= 64 {
  8025  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8026  					}
  8027  					if iNdEx >= l {
  8028  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8029  					}
  8030  					b := dAtA[iNdEx]
  8031  					iNdEx++
  8032  					v |= int32(b&0x7F) << shift
  8033  					if b < 0x80 {
  8034  						break
  8035  					}
  8036  				}
  8037  				x.Sum = &TestVersion1_E{v}
  8038  			case 7:
  8039  				if wireType != 2 {
  8040  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  8041  				}
  8042  				var msglen int
  8043  				for shift := uint(0); ; shift += 7 {
  8044  					if shift >= 64 {
  8045  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8046  					}
  8047  					if iNdEx >= l {
  8048  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8049  					}
  8050  					b := dAtA[iNdEx]
  8051  					iNdEx++
  8052  					msglen |= int(b&0x7F) << shift
  8053  					if b < 0x80 {
  8054  						break
  8055  					}
  8056  				}
  8057  				if msglen < 0 {
  8058  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8059  				}
  8060  				postIndex := iNdEx + msglen
  8061  				if postIndex < 0 {
  8062  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8063  				}
  8064  				if postIndex > l {
  8065  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8066  				}
  8067  				v := &TestVersion1{}
  8068  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
  8069  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8070  				}
  8071  				x.Sum = &TestVersion1_F{v}
  8072  				iNdEx = postIndex
  8073  			case 8:
  8074  				if wireType != 2 {
  8075  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  8076  				}
  8077  				var msglen int
  8078  				for shift := uint(0); ; shift += 7 {
  8079  					if shift >= 64 {
  8080  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8081  					}
  8082  					if iNdEx >= l {
  8083  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8084  					}
  8085  					b := dAtA[iNdEx]
  8086  					iNdEx++
  8087  					msglen |= int(b&0x7F) << shift
  8088  					if b < 0x80 {
  8089  						break
  8090  					}
  8091  				}
  8092  				if msglen < 0 {
  8093  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8094  				}
  8095  				postIndex := iNdEx + msglen
  8096  				if postIndex < 0 {
  8097  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8098  				}
  8099  				if postIndex > l {
  8100  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8101  				}
  8102  				if x.G == nil {
  8103  					x.G = &anypb.Any{}
  8104  				}
  8105  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
  8106  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8107  				}
  8108  				iNdEx = postIndex
  8109  			case 9:
  8110  				if wireType != 2 {
  8111  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  8112  				}
  8113  				var msglen int
  8114  				for shift := uint(0); ; shift += 7 {
  8115  					if shift >= 64 {
  8116  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8117  					}
  8118  					if iNdEx >= l {
  8119  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8120  					}
  8121  					b := dAtA[iNdEx]
  8122  					iNdEx++
  8123  					msglen |= int(b&0x7F) << shift
  8124  					if b < 0x80 {
  8125  						break
  8126  					}
  8127  				}
  8128  				if msglen < 0 {
  8129  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8130  				}
  8131  				postIndex := iNdEx + msglen
  8132  				if postIndex < 0 {
  8133  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8134  				}
  8135  				if postIndex > l {
  8136  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8137  				}
  8138  				x.H = append(x.H, &TestVersion1{})
  8139  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
  8140  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8141  				}
  8142  				iNdEx = postIndex
  8143  			case 12:
  8144  				if wireType != 2 {
  8145  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
  8146  				}
  8147  				var msglen int
  8148  				for shift := uint(0); ; shift += 7 {
  8149  					if shift >= 64 {
  8150  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8151  					}
  8152  					if iNdEx >= l {
  8153  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8154  					}
  8155  					b := dAtA[iNdEx]
  8156  					iNdEx++
  8157  					msglen |= int(b&0x7F) << shift
  8158  					if b < 0x80 {
  8159  						break
  8160  					}
  8161  				}
  8162  				if msglen < 0 {
  8163  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8164  				}
  8165  				postIndex := iNdEx + msglen
  8166  				if postIndex < 0 {
  8167  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8168  				}
  8169  				if postIndex > l {
  8170  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8171  				}
  8172  				if x.K == nil {
  8173  					x.K = &Customer1{}
  8174  				}
  8175  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
  8176  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8177  				}
  8178  				iNdEx = postIndex
  8179  			default:
  8180  				iNdEx = preIndex
  8181  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  8182  				if err != nil {
  8183  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8184  				}
  8185  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  8186  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8187  				}
  8188  				if (iNdEx + skippy) > l {
  8189  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8190  				}
  8191  				if !options.DiscardUnknown {
  8192  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  8193  				}
  8194  				iNdEx += skippy
  8195  			}
  8196  		}
  8197  
  8198  		if iNdEx > l {
  8199  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8200  		}
  8201  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  8202  	}
  8203  	return &protoiface.Methods{
  8204  		NoUnkeyedLiterals: struct{}{},
  8205  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  8206  		Size:              size,
  8207  		Marshal:           marshal,
  8208  		Unmarshal:         unmarshal,
  8209  		Merge:             nil,
  8210  		CheckInitialized:  nil,
  8211  	}
  8212  }
  8213  
  8214  var _ protoreflect.List = (*_TestVersion2_4_list)(nil)
  8215  
  8216  type _TestVersion2_4_list struct {
  8217  	list *[]*TestVersion2
  8218  }
  8219  
  8220  func (x *_TestVersion2_4_list) Len() int {
  8221  	if x.list == nil {
  8222  		return 0
  8223  	}
  8224  	return len(*x.list)
  8225  }
  8226  
  8227  func (x *_TestVersion2_4_list) Get(i int) protoreflect.Value {
  8228  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  8229  }
  8230  
  8231  func (x *_TestVersion2_4_list) Set(i int, value protoreflect.Value) {
  8232  	valueUnwrapped := value.Message()
  8233  	concreteValue := valueUnwrapped.Interface().(*TestVersion2)
  8234  	(*x.list)[i] = concreteValue
  8235  }
  8236  
  8237  func (x *_TestVersion2_4_list) Append(value protoreflect.Value) {
  8238  	valueUnwrapped := value.Message()
  8239  	concreteValue := valueUnwrapped.Interface().(*TestVersion2)
  8240  	*x.list = append(*x.list, concreteValue)
  8241  }
  8242  
  8243  func (x *_TestVersion2_4_list) AppendMutable() protoreflect.Value {
  8244  	v := new(TestVersion2)
  8245  	*x.list = append(*x.list, v)
  8246  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8247  }
  8248  
  8249  func (x *_TestVersion2_4_list) Truncate(n int) {
  8250  	for i := n; i < len(*x.list); i++ {
  8251  		(*x.list)[i] = nil
  8252  	}
  8253  	*x.list = (*x.list)[:n]
  8254  }
  8255  
  8256  func (x *_TestVersion2_4_list) NewElement() protoreflect.Value {
  8257  	v := new(TestVersion2)
  8258  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8259  }
  8260  
  8261  func (x *_TestVersion2_4_list) IsValid() bool {
  8262  	return x.list != nil
  8263  }
  8264  
  8265  var _ protoreflect.List = (*_TestVersion2_5_list)(nil)
  8266  
  8267  type _TestVersion2_5_list struct {
  8268  	list *[]*TestVersion2
  8269  }
  8270  
  8271  func (x *_TestVersion2_5_list) Len() int {
  8272  	if x.list == nil {
  8273  		return 0
  8274  	}
  8275  	return len(*x.list)
  8276  }
  8277  
  8278  func (x *_TestVersion2_5_list) Get(i int) protoreflect.Value {
  8279  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  8280  }
  8281  
  8282  func (x *_TestVersion2_5_list) Set(i int, value protoreflect.Value) {
  8283  	valueUnwrapped := value.Message()
  8284  	concreteValue := valueUnwrapped.Interface().(*TestVersion2)
  8285  	(*x.list)[i] = concreteValue
  8286  }
  8287  
  8288  func (x *_TestVersion2_5_list) Append(value protoreflect.Value) {
  8289  	valueUnwrapped := value.Message()
  8290  	concreteValue := valueUnwrapped.Interface().(*TestVersion2)
  8291  	*x.list = append(*x.list, concreteValue)
  8292  }
  8293  
  8294  func (x *_TestVersion2_5_list) AppendMutable() protoreflect.Value {
  8295  	v := new(TestVersion2)
  8296  	*x.list = append(*x.list, v)
  8297  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8298  }
  8299  
  8300  func (x *_TestVersion2_5_list) Truncate(n int) {
  8301  	for i := n; i < len(*x.list); i++ {
  8302  		(*x.list)[i] = nil
  8303  	}
  8304  	*x.list = (*x.list)[:n]
  8305  }
  8306  
  8307  func (x *_TestVersion2_5_list) NewElement() protoreflect.Value {
  8308  	v := new(TestVersion2)
  8309  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8310  }
  8311  
  8312  func (x *_TestVersion2_5_list) IsValid() bool {
  8313  	return x.list != nil
  8314  }
  8315  
  8316  var _ protoreflect.List = (*_TestVersion2_9_list)(nil)
  8317  
  8318  type _TestVersion2_9_list struct {
  8319  	list *[]*TestVersion1
  8320  }
  8321  
  8322  func (x *_TestVersion2_9_list) Len() int {
  8323  	if x.list == nil {
  8324  		return 0
  8325  	}
  8326  	return len(*x.list)
  8327  }
  8328  
  8329  func (x *_TestVersion2_9_list) Get(i int) protoreflect.Value {
  8330  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  8331  }
  8332  
  8333  func (x *_TestVersion2_9_list) Set(i int, value protoreflect.Value) {
  8334  	valueUnwrapped := value.Message()
  8335  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  8336  	(*x.list)[i] = concreteValue
  8337  }
  8338  
  8339  func (x *_TestVersion2_9_list) Append(value protoreflect.Value) {
  8340  	valueUnwrapped := value.Message()
  8341  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  8342  	*x.list = append(*x.list, concreteValue)
  8343  }
  8344  
  8345  func (x *_TestVersion2_9_list) AppendMutable() protoreflect.Value {
  8346  	v := new(TestVersion1)
  8347  	*x.list = append(*x.list, v)
  8348  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8349  }
  8350  
  8351  func (x *_TestVersion2_9_list) Truncate(n int) {
  8352  	for i := n; i < len(*x.list); i++ {
  8353  		(*x.list)[i] = nil
  8354  	}
  8355  	*x.list = (*x.list)[:n]
  8356  }
  8357  
  8358  func (x *_TestVersion2_9_list) NewElement() protoreflect.Value {
  8359  	v := new(TestVersion1)
  8360  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  8361  }
  8362  
  8363  func (x *_TestVersion2_9_list) IsValid() bool {
  8364  	return x.list != nil
  8365  }
  8366  
  8367  var (
  8368  	md_TestVersion2           protoreflect.MessageDescriptor
  8369  	fd_TestVersion2_x         protoreflect.FieldDescriptor
  8370  	fd_TestVersion2_a         protoreflect.FieldDescriptor
  8371  	fd_TestVersion2_b         protoreflect.FieldDescriptor
  8372  	fd_TestVersion2_c         protoreflect.FieldDescriptor
  8373  	fd_TestVersion2_d         protoreflect.FieldDescriptor
  8374  	fd_TestVersion2_e         protoreflect.FieldDescriptor
  8375  	fd_TestVersion2_f         protoreflect.FieldDescriptor
  8376  	fd_TestVersion2_g         protoreflect.FieldDescriptor
  8377  	fd_TestVersion2_h         protoreflect.FieldDescriptor
  8378  	fd_TestVersion2_k         protoreflect.FieldDescriptor
  8379  	fd_TestVersion2_new_field protoreflect.FieldDescriptor
  8380  )
  8381  
  8382  func init() {
  8383  	file_testpb_unknonwnproto_proto_init()
  8384  	md_TestVersion2 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion2")
  8385  	fd_TestVersion2_x = md_TestVersion2.Fields().ByName("x")
  8386  	fd_TestVersion2_a = md_TestVersion2.Fields().ByName("a")
  8387  	fd_TestVersion2_b = md_TestVersion2.Fields().ByName("b")
  8388  	fd_TestVersion2_c = md_TestVersion2.Fields().ByName("c")
  8389  	fd_TestVersion2_d = md_TestVersion2.Fields().ByName("d")
  8390  	fd_TestVersion2_e = md_TestVersion2.Fields().ByName("e")
  8391  	fd_TestVersion2_f = md_TestVersion2.Fields().ByName("f")
  8392  	fd_TestVersion2_g = md_TestVersion2.Fields().ByName("g")
  8393  	fd_TestVersion2_h = md_TestVersion2.Fields().ByName("h")
  8394  	fd_TestVersion2_k = md_TestVersion2.Fields().ByName("k")
  8395  	fd_TestVersion2_new_field = md_TestVersion2.Fields().ByName("new_field")
  8396  }
  8397  
  8398  var _ protoreflect.Message = (*fastReflection_TestVersion2)(nil)
  8399  
  8400  type fastReflection_TestVersion2 TestVersion2
  8401  
  8402  func (x *TestVersion2) ProtoReflect() protoreflect.Message {
  8403  	return (*fastReflection_TestVersion2)(x)
  8404  }
  8405  
  8406  func (x *TestVersion2) slowProtoReflect() protoreflect.Message {
  8407  	mi := &file_testpb_unknonwnproto_proto_msgTypes[12]
  8408  	if protoimpl.UnsafeEnabled && x != nil {
  8409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  8410  		if ms.LoadMessageInfo() == nil {
  8411  			ms.StoreMessageInfo(mi)
  8412  		}
  8413  		return ms
  8414  	}
  8415  	return mi.MessageOf(x)
  8416  }
  8417  
  8418  var _fastReflection_TestVersion2_messageType fastReflection_TestVersion2_messageType
  8419  var _ protoreflect.MessageType = fastReflection_TestVersion2_messageType{}
  8420  
  8421  type fastReflection_TestVersion2_messageType struct{}
  8422  
  8423  func (x fastReflection_TestVersion2_messageType) Zero() protoreflect.Message {
  8424  	return (*fastReflection_TestVersion2)(nil)
  8425  }
  8426  func (x fastReflection_TestVersion2_messageType) New() protoreflect.Message {
  8427  	return new(fastReflection_TestVersion2)
  8428  }
  8429  func (x fastReflection_TestVersion2_messageType) Descriptor() protoreflect.MessageDescriptor {
  8430  	return md_TestVersion2
  8431  }
  8432  
  8433  // Descriptor returns message descriptor, which contains only the protobuf
  8434  // type information for the message.
  8435  func (x *fastReflection_TestVersion2) Descriptor() protoreflect.MessageDescriptor {
  8436  	return md_TestVersion2
  8437  }
  8438  
  8439  // Type returns the message type, which encapsulates both Go and protobuf
  8440  // type information. If the Go type information is not needed,
  8441  // it is recommended that the message descriptor be used instead.
  8442  func (x *fastReflection_TestVersion2) Type() protoreflect.MessageType {
  8443  	return _fastReflection_TestVersion2_messageType
  8444  }
  8445  
  8446  // New returns a newly allocated and mutable empty message.
  8447  func (x *fastReflection_TestVersion2) New() protoreflect.Message {
  8448  	return new(fastReflection_TestVersion2)
  8449  }
  8450  
  8451  // Interface unwraps the message reflection interface and
  8452  // returns the underlying ProtoMessage interface.
  8453  func (x *fastReflection_TestVersion2) Interface() protoreflect.ProtoMessage {
  8454  	return (*TestVersion2)(x)
  8455  }
  8456  
  8457  // Range iterates over every populated field in an undefined order,
  8458  // calling f for each field descriptor and value encountered.
  8459  // Range returns immediately if f returns false.
  8460  // While iterating, mutating operations may only be performed
  8461  // on the current field descriptor.
  8462  func (x *fastReflection_TestVersion2) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  8463  	if x.X != int64(0) {
  8464  		value := protoreflect.ValueOfInt64(x.X)
  8465  		if !f(fd_TestVersion2_x, value) {
  8466  			return
  8467  		}
  8468  	}
  8469  	if x.A != nil {
  8470  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
  8471  		if !f(fd_TestVersion2_a, value) {
  8472  			return
  8473  		}
  8474  	}
  8475  	if x.B != nil {
  8476  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
  8477  		if !f(fd_TestVersion2_b, value) {
  8478  			return
  8479  		}
  8480  	}
  8481  	if len(x.C) != 0 {
  8482  		value := protoreflect.ValueOfList(&_TestVersion2_4_list{list: &x.C})
  8483  		if !f(fd_TestVersion2_c, value) {
  8484  			return
  8485  		}
  8486  	}
  8487  	if len(x.D) != 0 {
  8488  		value := protoreflect.ValueOfList(&_TestVersion2_5_list{list: &x.D})
  8489  		if !f(fd_TestVersion2_d, value) {
  8490  			return
  8491  		}
  8492  	}
  8493  	if x.Sum != nil {
  8494  		switch o := x.Sum.(type) {
  8495  		case *TestVersion2_E:
  8496  			v := o.E
  8497  			value := protoreflect.ValueOfInt32(v)
  8498  			if !f(fd_TestVersion2_e, value) {
  8499  				return
  8500  			}
  8501  		case *TestVersion2_F:
  8502  			v := o.F
  8503  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
  8504  			if !f(fd_TestVersion2_f, value) {
  8505  				return
  8506  			}
  8507  		}
  8508  	}
  8509  	if x.G != nil {
  8510  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
  8511  		if !f(fd_TestVersion2_g, value) {
  8512  			return
  8513  		}
  8514  	}
  8515  	if len(x.H) != 0 {
  8516  		value := protoreflect.ValueOfList(&_TestVersion2_9_list{list: &x.H})
  8517  		if !f(fd_TestVersion2_h, value) {
  8518  			return
  8519  		}
  8520  	}
  8521  	if x.K != nil {
  8522  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
  8523  		if !f(fd_TestVersion2_k, value) {
  8524  			return
  8525  		}
  8526  	}
  8527  	if x.NewField_ != uint64(0) {
  8528  		value := protoreflect.ValueOfUint64(x.NewField_)
  8529  		if !f(fd_TestVersion2_new_field, value) {
  8530  			return
  8531  		}
  8532  	}
  8533  }
  8534  
  8535  // Has reports whether a field is populated.
  8536  //
  8537  // Some fields have the property of nullability where it is possible to
  8538  // distinguish between the default value of a field and whether the field
  8539  // was explicitly populated with the default value. Singular message fields,
  8540  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  8541  // fields are populated only if explicitly set.
  8542  //
  8543  // In other cases (aside from the nullable cases above),
  8544  // a proto3 scalar field is populated if it contains a non-zero value, and
  8545  // a repeated field is populated if it is non-empty.
  8546  func (x *fastReflection_TestVersion2) Has(fd protoreflect.FieldDescriptor) bool {
  8547  	switch fd.FullName() {
  8548  	case "testpb.TestVersion2.x":
  8549  		return x.X != int64(0)
  8550  	case "testpb.TestVersion2.a":
  8551  		return x.A != nil
  8552  	case "testpb.TestVersion2.b":
  8553  		return x.B != nil
  8554  	case "testpb.TestVersion2.c":
  8555  		return len(x.C) != 0
  8556  	case "testpb.TestVersion2.d":
  8557  		return len(x.D) != 0
  8558  	case "testpb.TestVersion2.e":
  8559  		if x.Sum == nil {
  8560  			return false
  8561  		} else if _, ok := x.Sum.(*TestVersion2_E); ok {
  8562  			return true
  8563  		} else {
  8564  			return false
  8565  		}
  8566  	case "testpb.TestVersion2.f":
  8567  		if x.Sum == nil {
  8568  			return false
  8569  		} else if _, ok := x.Sum.(*TestVersion2_F); ok {
  8570  			return true
  8571  		} else {
  8572  			return false
  8573  		}
  8574  	case "testpb.TestVersion2.g":
  8575  		return x.G != nil
  8576  	case "testpb.TestVersion2.h":
  8577  		return len(x.H) != 0
  8578  	case "testpb.TestVersion2.k":
  8579  		return x.K != nil
  8580  	case "testpb.TestVersion2.new_field":
  8581  		return x.NewField_ != uint64(0)
  8582  	default:
  8583  		if fd.IsExtension() {
  8584  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8585  		}
  8586  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", fd.FullName()))
  8587  	}
  8588  }
  8589  
  8590  // Clear clears the field such that a subsequent Has call reports false.
  8591  //
  8592  // Clearing an extension field clears both the extension type and value
  8593  // associated with the given field number.
  8594  //
  8595  // Clear is a mutating operation and unsafe for concurrent use.
  8596  func (x *fastReflection_TestVersion2) Clear(fd protoreflect.FieldDescriptor) {
  8597  	switch fd.FullName() {
  8598  	case "testpb.TestVersion2.x":
  8599  		x.X = int64(0)
  8600  	case "testpb.TestVersion2.a":
  8601  		x.A = nil
  8602  	case "testpb.TestVersion2.b":
  8603  		x.B = nil
  8604  	case "testpb.TestVersion2.c":
  8605  		x.C = nil
  8606  	case "testpb.TestVersion2.d":
  8607  		x.D = nil
  8608  	case "testpb.TestVersion2.e":
  8609  		x.Sum = nil
  8610  	case "testpb.TestVersion2.f":
  8611  		x.Sum = nil
  8612  	case "testpb.TestVersion2.g":
  8613  		x.G = nil
  8614  	case "testpb.TestVersion2.h":
  8615  		x.H = nil
  8616  	case "testpb.TestVersion2.k":
  8617  		x.K = nil
  8618  	case "testpb.TestVersion2.new_field":
  8619  		x.NewField_ = uint64(0)
  8620  	default:
  8621  		if fd.IsExtension() {
  8622  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8623  		}
  8624  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", fd.FullName()))
  8625  	}
  8626  }
  8627  
  8628  // Get retrieves the value for a field.
  8629  //
  8630  // For unpopulated scalars, it returns the default value, where
  8631  // the default value of a bytes scalar is guaranteed to be a copy.
  8632  // For unpopulated composite types, it returns an empty, read-only view
  8633  // of the value; to obtain a mutable reference, use Mutable.
  8634  func (x *fastReflection_TestVersion2) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  8635  	switch descriptor.FullName() {
  8636  	case "testpb.TestVersion2.x":
  8637  		value := x.X
  8638  		return protoreflect.ValueOfInt64(value)
  8639  	case "testpb.TestVersion2.a":
  8640  		value := x.A
  8641  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  8642  	case "testpb.TestVersion2.b":
  8643  		value := x.B
  8644  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  8645  	case "testpb.TestVersion2.c":
  8646  		if len(x.C) == 0 {
  8647  			return protoreflect.ValueOfList(&_TestVersion2_4_list{})
  8648  		}
  8649  		listValue := &_TestVersion2_4_list{list: &x.C}
  8650  		return protoreflect.ValueOfList(listValue)
  8651  	case "testpb.TestVersion2.d":
  8652  		if len(x.D) == 0 {
  8653  			return protoreflect.ValueOfList(&_TestVersion2_5_list{})
  8654  		}
  8655  		listValue := &_TestVersion2_5_list{list: &x.D}
  8656  		return protoreflect.ValueOfList(listValue)
  8657  	case "testpb.TestVersion2.e":
  8658  		if x.Sum == nil {
  8659  			return protoreflect.ValueOfInt32(int32(0))
  8660  		} else if v, ok := x.Sum.(*TestVersion2_E); ok {
  8661  			return protoreflect.ValueOfInt32(v.E)
  8662  		} else {
  8663  			return protoreflect.ValueOfInt32(int32(0))
  8664  		}
  8665  	case "testpb.TestVersion2.f":
  8666  		if x.Sum == nil {
  8667  			return protoreflect.ValueOfMessage((*TestVersion2)(nil).ProtoReflect())
  8668  		} else if v, ok := x.Sum.(*TestVersion2_F); ok {
  8669  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
  8670  		} else {
  8671  			return protoreflect.ValueOfMessage((*TestVersion2)(nil).ProtoReflect())
  8672  		}
  8673  	case "testpb.TestVersion2.g":
  8674  		value := x.G
  8675  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  8676  	case "testpb.TestVersion2.h":
  8677  		if len(x.H) == 0 {
  8678  			return protoreflect.ValueOfList(&_TestVersion2_9_list{})
  8679  		}
  8680  		listValue := &_TestVersion2_9_list{list: &x.H}
  8681  		return protoreflect.ValueOfList(listValue)
  8682  	case "testpb.TestVersion2.k":
  8683  		value := x.K
  8684  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  8685  	case "testpb.TestVersion2.new_field":
  8686  		value := x.NewField_
  8687  		return protoreflect.ValueOfUint64(value)
  8688  	default:
  8689  		if descriptor.IsExtension() {
  8690  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8691  		}
  8692  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", descriptor.FullName()))
  8693  	}
  8694  }
  8695  
  8696  // Set stores the value for a field.
  8697  //
  8698  // For a field belonging to a oneof, it implicitly clears any other field
  8699  // that may be currently set within the same oneof.
  8700  // For extension fields, it implicitly stores the provided ExtensionType.
  8701  // When setting a composite type, it is unspecified whether the stored value
  8702  // aliases the source's memory in any way. If the composite value is an
  8703  // empty, read-only value, then it panics.
  8704  //
  8705  // Set is a mutating operation and unsafe for concurrent use.
  8706  func (x *fastReflection_TestVersion2) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  8707  	switch fd.FullName() {
  8708  	case "testpb.TestVersion2.x":
  8709  		x.X = value.Int()
  8710  	case "testpb.TestVersion2.a":
  8711  		x.A = value.Message().Interface().(*TestVersion2)
  8712  	case "testpb.TestVersion2.b":
  8713  		x.B = value.Message().Interface().(*TestVersion2)
  8714  	case "testpb.TestVersion2.c":
  8715  		lv := value.List()
  8716  		clv := lv.(*_TestVersion2_4_list)
  8717  		x.C = *clv.list
  8718  	case "testpb.TestVersion2.d":
  8719  		lv := value.List()
  8720  		clv := lv.(*_TestVersion2_5_list)
  8721  		x.D = *clv.list
  8722  	case "testpb.TestVersion2.e":
  8723  		cv := int32(value.Int())
  8724  		x.Sum = &TestVersion2_E{E: cv}
  8725  	case "testpb.TestVersion2.f":
  8726  		cv := value.Message().Interface().(*TestVersion2)
  8727  		x.Sum = &TestVersion2_F{F: cv}
  8728  	case "testpb.TestVersion2.g":
  8729  		x.G = value.Message().Interface().(*anypb.Any)
  8730  	case "testpb.TestVersion2.h":
  8731  		lv := value.List()
  8732  		clv := lv.(*_TestVersion2_9_list)
  8733  		x.H = *clv.list
  8734  	case "testpb.TestVersion2.k":
  8735  		x.K = value.Message().Interface().(*Customer1)
  8736  	case "testpb.TestVersion2.new_field":
  8737  		x.NewField_ = value.Uint()
  8738  	default:
  8739  		if fd.IsExtension() {
  8740  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8741  		}
  8742  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", fd.FullName()))
  8743  	}
  8744  }
  8745  
  8746  // Mutable returns a mutable reference to a composite type.
  8747  //
  8748  // If the field is unpopulated, it may allocate a composite value.
  8749  // For a field belonging to a oneof, it implicitly clears any other field
  8750  // that may be currently set within the same oneof.
  8751  // For extension fields, it implicitly stores the provided ExtensionType
  8752  // if not already stored.
  8753  // It panics if the field does not contain a composite type.
  8754  //
  8755  // Mutable is a mutating operation and unsafe for concurrent use.
  8756  func (x *fastReflection_TestVersion2) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  8757  	switch fd.FullName() {
  8758  	case "testpb.TestVersion2.a":
  8759  		if x.A == nil {
  8760  			x.A = new(TestVersion2)
  8761  		}
  8762  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
  8763  	case "testpb.TestVersion2.b":
  8764  		if x.B == nil {
  8765  			x.B = new(TestVersion2)
  8766  		}
  8767  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
  8768  	case "testpb.TestVersion2.c":
  8769  		if x.C == nil {
  8770  			x.C = []*TestVersion2{}
  8771  		}
  8772  		value := &_TestVersion2_4_list{list: &x.C}
  8773  		return protoreflect.ValueOfList(value)
  8774  	case "testpb.TestVersion2.d":
  8775  		if x.D == nil {
  8776  			x.D = []*TestVersion2{}
  8777  		}
  8778  		value := &_TestVersion2_5_list{list: &x.D}
  8779  		return protoreflect.ValueOfList(value)
  8780  	case "testpb.TestVersion2.f":
  8781  		if x.Sum == nil {
  8782  			value := &TestVersion2{}
  8783  			oneofValue := &TestVersion2_F{F: value}
  8784  			x.Sum = oneofValue
  8785  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  8786  		}
  8787  		switch m := x.Sum.(type) {
  8788  		case *TestVersion2_F:
  8789  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
  8790  		default:
  8791  			value := &TestVersion2{}
  8792  			oneofValue := &TestVersion2_F{F: value}
  8793  			x.Sum = oneofValue
  8794  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  8795  		}
  8796  	case "testpb.TestVersion2.g":
  8797  		if x.G == nil {
  8798  			x.G = new(anypb.Any)
  8799  		}
  8800  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
  8801  	case "testpb.TestVersion2.h":
  8802  		if x.H == nil {
  8803  			x.H = []*TestVersion1{}
  8804  		}
  8805  		value := &_TestVersion2_9_list{list: &x.H}
  8806  		return protoreflect.ValueOfList(value)
  8807  	case "testpb.TestVersion2.k":
  8808  		if x.K == nil {
  8809  			x.K = new(Customer1)
  8810  		}
  8811  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
  8812  	case "testpb.TestVersion2.x":
  8813  		panic(fmt.Errorf("field x of message testpb.TestVersion2 is not mutable"))
  8814  	case "testpb.TestVersion2.e":
  8815  		panic(fmt.Errorf("field e of message testpb.TestVersion2 is not mutable"))
  8816  	case "testpb.TestVersion2.new_field":
  8817  		panic(fmt.Errorf("field new_field of message testpb.TestVersion2 is not mutable"))
  8818  	default:
  8819  		if fd.IsExtension() {
  8820  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8821  		}
  8822  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", fd.FullName()))
  8823  	}
  8824  }
  8825  
  8826  // NewField returns a new value that is assignable to the field
  8827  // for the given descriptor. For scalars, this returns the default value.
  8828  // For lists, maps, and messages, this returns a new, empty, mutable value.
  8829  func (x *fastReflection_TestVersion2) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  8830  	switch fd.FullName() {
  8831  	case "testpb.TestVersion2.x":
  8832  		return protoreflect.ValueOfInt64(int64(0))
  8833  	case "testpb.TestVersion2.a":
  8834  		m := new(TestVersion2)
  8835  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  8836  	case "testpb.TestVersion2.b":
  8837  		m := new(TestVersion2)
  8838  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  8839  	case "testpb.TestVersion2.c":
  8840  		list := []*TestVersion2{}
  8841  		return protoreflect.ValueOfList(&_TestVersion2_4_list{list: &list})
  8842  	case "testpb.TestVersion2.d":
  8843  		list := []*TestVersion2{}
  8844  		return protoreflect.ValueOfList(&_TestVersion2_5_list{list: &list})
  8845  	case "testpb.TestVersion2.e":
  8846  		return protoreflect.ValueOfInt32(int32(0))
  8847  	case "testpb.TestVersion2.f":
  8848  		value := &TestVersion2{}
  8849  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  8850  	case "testpb.TestVersion2.g":
  8851  		m := new(anypb.Any)
  8852  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  8853  	case "testpb.TestVersion2.h":
  8854  		list := []*TestVersion1{}
  8855  		return protoreflect.ValueOfList(&_TestVersion2_9_list{list: &list})
  8856  	case "testpb.TestVersion2.k":
  8857  		m := new(Customer1)
  8858  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  8859  	case "testpb.TestVersion2.new_field":
  8860  		return protoreflect.ValueOfUint64(uint64(0))
  8861  	default:
  8862  		if fd.IsExtension() {
  8863  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion2"))
  8864  		}
  8865  		panic(fmt.Errorf("message testpb.TestVersion2 does not contain field %s", fd.FullName()))
  8866  	}
  8867  }
  8868  
  8869  // WhichOneof reports which field within the oneof is populated,
  8870  // returning nil if none are populated.
  8871  // It panics if the oneof descriptor does not belong to this message.
  8872  func (x *fastReflection_TestVersion2) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  8873  	switch d.FullName() {
  8874  	case "testpb.TestVersion2.sum":
  8875  		if x.Sum == nil {
  8876  			return nil
  8877  		}
  8878  		switch x.Sum.(type) {
  8879  		case *TestVersion2_E:
  8880  			return x.Descriptor().Fields().ByName("e")
  8881  		case *TestVersion2_F:
  8882  			return x.Descriptor().Fields().ByName("f")
  8883  		}
  8884  	default:
  8885  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion2", d.FullName()))
  8886  	}
  8887  	panic("unreachable")
  8888  }
  8889  
  8890  // GetUnknown retrieves the entire list of unknown fields.
  8891  // The caller may only mutate the contents of the RawFields
  8892  // if the mutated bytes are stored back into the message with SetUnknown.
  8893  func (x *fastReflection_TestVersion2) GetUnknown() protoreflect.RawFields {
  8894  	return x.unknownFields
  8895  }
  8896  
  8897  // SetUnknown stores an entire list of unknown fields.
  8898  // The raw fields must be syntactically valid according to the wire format.
  8899  // An implementation may panic if this is not the case.
  8900  // Once stored, the caller must not mutate the content of the RawFields.
  8901  // An empty RawFields may be passed to clear the fields.
  8902  //
  8903  // SetUnknown is a mutating operation and unsafe for concurrent use.
  8904  func (x *fastReflection_TestVersion2) SetUnknown(fields protoreflect.RawFields) {
  8905  	x.unknownFields = fields
  8906  }
  8907  
  8908  // IsValid reports whether the message is valid.
  8909  //
  8910  // An invalid message is an empty, read-only value.
  8911  //
  8912  // An invalid message often corresponds to a nil pointer of the concrete
  8913  // message type, but the details are implementation dependent.
  8914  // Validity is not part of the protobuf data model, and may not
  8915  // be preserved in marshaling or other operations.
  8916  func (x *fastReflection_TestVersion2) IsValid() bool {
  8917  	return x != nil
  8918  }
  8919  
  8920  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  8921  // This method may return nil.
  8922  //
  8923  // The returned methods type is identical to
  8924  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  8925  // Consult the protoiface package documentation for details.
  8926  func (x *fastReflection_TestVersion2) ProtoMethods() *protoiface.Methods {
  8927  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  8928  		x := input.Message.Interface().(*TestVersion2)
  8929  		if x == nil {
  8930  			return protoiface.SizeOutput{
  8931  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  8932  				Size:              0,
  8933  			}
  8934  		}
  8935  		options := runtime.SizeInputToOptions(input)
  8936  		_ = options
  8937  		var n int
  8938  		var l int
  8939  		_ = l
  8940  		if x.X != 0 {
  8941  			n += 1 + runtime.Sov(uint64(x.X))
  8942  		}
  8943  		if x.A != nil {
  8944  			l = options.Size(x.A)
  8945  			n += 1 + l + runtime.Sov(uint64(l))
  8946  		}
  8947  		if x.B != nil {
  8948  			l = options.Size(x.B)
  8949  			n += 1 + l + runtime.Sov(uint64(l))
  8950  		}
  8951  		if len(x.C) > 0 {
  8952  			for _, e := range x.C {
  8953  				l = options.Size(e)
  8954  				n += 1 + l + runtime.Sov(uint64(l))
  8955  			}
  8956  		}
  8957  		if len(x.D) > 0 {
  8958  			for _, e := range x.D {
  8959  				l = options.Size(e)
  8960  				n += 1 + l + runtime.Sov(uint64(l))
  8961  			}
  8962  		}
  8963  		switch x := x.Sum.(type) {
  8964  		case *TestVersion2_E:
  8965  			if x == nil {
  8966  				break
  8967  			}
  8968  			n += 1 + runtime.Sov(uint64(x.E))
  8969  		case *TestVersion2_F:
  8970  			if x == nil {
  8971  				break
  8972  			}
  8973  			l = options.Size(x.F)
  8974  			n += 1 + l + runtime.Sov(uint64(l))
  8975  		}
  8976  		if x.G != nil {
  8977  			l = options.Size(x.G)
  8978  			n += 1 + l + runtime.Sov(uint64(l))
  8979  		}
  8980  		if len(x.H) > 0 {
  8981  			for _, e := range x.H {
  8982  				l = options.Size(e)
  8983  				n += 1 + l + runtime.Sov(uint64(l))
  8984  			}
  8985  		}
  8986  		if x.K != nil {
  8987  			l = options.Size(x.K)
  8988  			n += 1 + l + runtime.Sov(uint64(l))
  8989  		}
  8990  		if x.NewField_ != 0 {
  8991  			n += 2 + runtime.Sov(uint64(x.NewField_))
  8992  		}
  8993  		if x.unknownFields != nil {
  8994  			n += len(x.unknownFields)
  8995  		}
  8996  		return protoiface.SizeOutput{
  8997  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  8998  			Size:              n,
  8999  		}
  9000  	}
  9001  
  9002  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  9003  		x := input.Message.Interface().(*TestVersion2)
  9004  		if x == nil {
  9005  			return protoiface.MarshalOutput{
  9006  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9007  				Buf:               input.Buf,
  9008  			}, nil
  9009  		}
  9010  		options := runtime.MarshalInputToOptions(input)
  9011  		_ = options
  9012  		size := options.Size(x)
  9013  		dAtA := make([]byte, size)
  9014  		i := len(dAtA)
  9015  		_ = i
  9016  		var l int
  9017  		_ = l
  9018  		if x.unknownFields != nil {
  9019  			i -= len(x.unknownFields)
  9020  			copy(dAtA[i:], x.unknownFields)
  9021  		}
  9022  		switch x := x.Sum.(type) {
  9023  		case *TestVersion2_E:
  9024  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
  9025  			i--
  9026  			dAtA[i] = 0x30
  9027  		case *TestVersion2_F:
  9028  			encoded, err := options.Marshal(x.F)
  9029  			if err != nil {
  9030  				return protoiface.MarshalOutput{
  9031  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9032  					Buf:               input.Buf,
  9033  				}, err
  9034  			}
  9035  			i -= len(encoded)
  9036  			copy(dAtA[i:], encoded)
  9037  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9038  			i--
  9039  			dAtA[i] = 0x3a
  9040  		}
  9041  		if x.NewField_ != 0 {
  9042  			i = runtime.EncodeVarint(dAtA, i, uint64(x.NewField_))
  9043  			i--
  9044  			dAtA[i] = 0x1
  9045  			i--
  9046  			dAtA[i] = 0xc8
  9047  		}
  9048  		if x.K != nil {
  9049  			encoded, err := options.Marshal(x.K)
  9050  			if err != nil {
  9051  				return protoiface.MarshalOutput{
  9052  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9053  					Buf:               input.Buf,
  9054  				}, err
  9055  			}
  9056  			i -= len(encoded)
  9057  			copy(dAtA[i:], encoded)
  9058  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9059  			i--
  9060  			dAtA[i] = 0x62
  9061  		}
  9062  		if len(x.H) > 0 {
  9063  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
  9064  				encoded, err := options.Marshal(x.H[iNdEx])
  9065  				if err != nil {
  9066  					return protoiface.MarshalOutput{
  9067  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9068  						Buf:               input.Buf,
  9069  					}, err
  9070  				}
  9071  				i -= len(encoded)
  9072  				copy(dAtA[i:], encoded)
  9073  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9074  				i--
  9075  				dAtA[i] = 0x4a
  9076  			}
  9077  		}
  9078  		if x.G != nil {
  9079  			encoded, err := options.Marshal(x.G)
  9080  			if err != nil {
  9081  				return protoiface.MarshalOutput{
  9082  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9083  					Buf:               input.Buf,
  9084  				}, err
  9085  			}
  9086  			i -= len(encoded)
  9087  			copy(dAtA[i:], encoded)
  9088  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9089  			i--
  9090  			dAtA[i] = 0x42
  9091  		}
  9092  		if len(x.D) > 0 {
  9093  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
  9094  				encoded, err := options.Marshal(x.D[iNdEx])
  9095  				if err != nil {
  9096  					return protoiface.MarshalOutput{
  9097  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9098  						Buf:               input.Buf,
  9099  					}, err
  9100  				}
  9101  				i -= len(encoded)
  9102  				copy(dAtA[i:], encoded)
  9103  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9104  				i--
  9105  				dAtA[i] = 0x2a
  9106  			}
  9107  		}
  9108  		if len(x.C) > 0 {
  9109  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
  9110  				encoded, err := options.Marshal(x.C[iNdEx])
  9111  				if err != nil {
  9112  					return protoiface.MarshalOutput{
  9113  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9114  						Buf:               input.Buf,
  9115  					}, err
  9116  				}
  9117  				i -= len(encoded)
  9118  				copy(dAtA[i:], encoded)
  9119  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9120  				i--
  9121  				dAtA[i] = 0x22
  9122  			}
  9123  		}
  9124  		if x.B != nil {
  9125  			encoded, err := options.Marshal(x.B)
  9126  			if err != nil {
  9127  				return protoiface.MarshalOutput{
  9128  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9129  					Buf:               input.Buf,
  9130  				}, err
  9131  			}
  9132  			i -= len(encoded)
  9133  			copy(dAtA[i:], encoded)
  9134  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9135  			i--
  9136  			dAtA[i] = 0x1a
  9137  		}
  9138  		if x.A != nil {
  9139  			encoded, err := options.Marshal(x.A)
  9140  			if err != nil {
  9141  				return protoiface.MarshalOutput{
  9142  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9143  					Buf:               input.Buf,
  9144  				}, err
  9145  			}
  9146  			i -= len(encoded)
  9147  			copy(dAtA[i:], encoded)
  9148  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  9149  			i--
  9150  			dAtA[i] = 0x12
  9151  		}
  9152  		if x.X != 0 {
  9153  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
  9154  			i--
  9155  			dAtA[i] = 0x8
  9156  		}
  9157  		if input.Buf != nil {
  9158  			input.Buf = append(input.Buf, dAtA...)
  9159  		} else {
  9160  			input.Buf = dAtA
  9161  		}
  9162  		return protoiface.MarshalOutput{
  9163  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9164  			Buf:               input.Buf,
  9165  		}, nil
  9166  	}
  9167  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  9168  		x := input.Message.Interface().(*TestVersion2)
  9169  		if x == nil {
  9170  			return protoiface.UnmarshalOutput{
  9171  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  9172  				Flags:             input.Flags,
  9173  			}, nil
  9174  		}
  9175  		options := runtime.UnmarshalInputToOptions(input)
  9176  		_ = options
  9177  		dAtA := input.Buf
  9178  		l := len(dAtA)
  9179  		iNdEx := 0
  9180  		for iNdEx < l {
  9181  			preIndex := iNdEx
  9182  			var wire uint64
  9183  			for shift := uint(0); ; shift += 7 {
  9184  				if shift >= 64 {
  9185  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9186  				}
  9187  				if iNdEx >= l {
  9188  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9189  				}
  9190  				b := dAtA[iNdEx]
  9191  				iNdEx++
  9192  				wire |= uint64(b&0x7F) << shift
  9193  				if b < 0x80 {
  9194  					break
  9195  				}
  9196  			}
  9197  			fieldNum := int32(wire >> 3)
  9198  			wireType := int(wire & 0x7)
  9199  			if wireType == 4 {
  9200  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion2: wiretype end group for non-group")
  9201  			}
  9202  			if fieldNum <= 0 {
  9203  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion2: illegal tag %d (wire type %d)", fieldNum, wire)
  9204  			}
  9205  			switch fieldNum {
  9206  			case 1:
  9207  				if wireType != 0 {
  9208  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  9209  				}
  9210  				x.X = 0
  9211  				for shift := uint(0); ; shift += 7 {
  9212  					if shift >= 64 {
  9213  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9214  					}
  9215  					if iNdEx >= l {
  9216  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9217  					}
  9218  					b := dAtA[iNdEx]
  9219  					iNdEx++
  9220  					x.X |= int64(b&0x7F) << shift
  9221  					if b < 0x80 {
  9222  						break
  9223  					}
  9224  				}
  9225  			case 2:
  9226  				if wireType != 2 {
  9227  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  9228  				}
  9229  				var msglen int
  9230  				for shift := uint(0); ; shift += 7 {
  9231  					if shift >= 64 {
  9232  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9233  					}
  9234  					if iNdEx >= l {
  9235  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9236  					}
  9237  					b := dAtA[iNdEx]
  9238  					iNdEx++
  9239  					msglen |= int(b&0x7F) << shift
  9240  					if b < 0x80 {
  9241  						break
  9242  					}
  9243  				}
  9244  				if msglen < 0 {
  9245  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9246  				}
  9247  				postIndex := iNdEx + msglen
  9248  				if postIndex < 0 {
  9249  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9250  				}
  9251  				if postIndex > l {
  9252  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9253  				}
  9254  				if x.A == nil {
  9255  					x.A = &TestVersion2{}
  9256  				}
  9257  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
  9258  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9259  				}
  9260  				iNdEx = postIndex
  9261  			case 3:
  9262  				if wireType != 2 {
  9263  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  9264  				}
  9265  				var msglen int
  9266  				for shift := uint(0); ; shift += 7 {
  9267  					if shift >= 64 {
  9268  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9269  					}
  9270  					if iNdEx >= l {
  9271  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9272  					}
  9273  					b := dAtA[iNdEx]
  9274  					iNdEx++
  9275  					msglen |= int(b&0x7F) << shift
  9276  					if b < 0x80 {
  9277  						break
  9278  					}
  9279  				}
  9280  				if msglen < 0 {
  9281  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9282  				}
  9283  				postIndex := iNdEx + msglen
  9284  				if postIndex < 0 {
  9285  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9286  				}
  9287  				if postIndex > l {
  9288  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9289  				}
  9290  				if x.B == nil {
  9291  					x.B = &TestVersion2{}
  9292  				}
  9293  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
  9294  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9295  				}
  9296  				iNdEx = postIndex
  9297  			case 4:
  9298  				if wireType != 2 {
  9299  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  9300  				}
  9301  				var msglen int
  9302  				for shift := uint(0); ; shift += 7 {
  9303  					if shift >= 64 {
  9304  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9305  					}
  9306  					if iNdEx >= l {
  9307  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9308  					}
  9309  					b := dAtA[iNdEx]
  9310  					iNdEx++
  9311  					msglen |= int(b&0x7F) << shift
  9312  					if b < 0x80 {
  9313  						break
  9314  					}
  9315  				}
  9316  				if msglen < 0 {
  9317  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9318  				}
  9319  				postIndex := iNdEx + msglen
  9320  				if postIndex < 0 {
  9321  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9322  				}
  9323  				if postIndex > l {
  9324  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9325  				}
  9326  				x.C = append(x.C, &TestVersion2{})
  9327  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
  9328  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9329  				}
  9330  				iNdEx = postIndex
  9331  			case 5:
  9332  				if wireType != 2 {
  9333  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  9334  				}
  9335  				var msglen int
  9336  				for shift := uint(0); ; shift += 7 {
  9337  					if shift >= 64 {
  9338  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9339  					}
  9340  					if iNdEx >= l {
  9341  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9342  					}
  9343  					b := dAtA[iNdEx]
  9344  					iNdEx++
  9345  					msglen |= int(b&0x7F) << shift
  9346  					if b < 0x80 {
  9347  						break
  9348  					}
  9349  				}
  9350  				if msglen < 0 {
  9351  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9352  				}
  9353  				postIndex := iNdEx + msglen
  9354  				if postIndex < 0 {
  9355  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9356  				}
  9357  				if postIndex > l {
  9358  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9359  				}
  9360  				x.D = append(x.D, &TestVersion2{})
  9361  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
  9362  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9363  				}
  9364  				iNdEx = postIndex
  9365  			case 6:
  9366  				if wireType != 0 {
  9367  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  9368  				}
  9369  				var v int32
  9370  				for shift := uint(0); ; shift += 7 {
  9371  					if shift >= 64 {
  9372  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9373  					}
  9374  					if iNdEx >= l {
  9375  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9376  					}
  9377  					b := dAtA[iNdEx]
  9378  					iNdEx++
  9379  					v |= int32(b&0x7F) << shift
  9380  					if b < 0x80 {
  9381  						break
  9382  					}
  9383  				}
  9384  				x.Sum = &TestVersion2_E{v}
  9385  			case 7:
  9386  				if wireType != 2 {
  9387  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  9388  				}
  9389  				var msglen int
  9390  				for shift := uint(0); ; shift += 7 {
  9391  					if shift >= 64 {
  9392  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9393  					}
  9394  					if iNdEx >= l {
  9395  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9396  					}
  9397  					b := dAtA[iNdEx]
  9398  					iNdEx++
  9399  					msglen |= int(b&0x7F) << shift
  9400  					if b < 0x80 {
  9401  						break
  9402  					}
  9403  				}
  9404  				if msglen < 0 {
  9405  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9406  				}
  9407  				postIndex := iNdEx + msglen
  9408  				if postIndex < 0 {
  9409  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9410  				}
  9411  				if postIndex > l {
  9412  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9413  				}
  9414  				v := &TestVersion2{}
  9415  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
  9416  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9417  				}
  9418  				x.Sum = &TestVersion2_F{v}
  9419  				iNdEx = postIndex
  9420  			case 8:
  9421  				if wireType != 2 {
  9422  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  9423  				}
  9424  				var msglen int
  9425  				for shift := uint(0); ; shift += 7 {
  9426  					if shift >= 64 {
  9427  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9428  					}
  9429  					if iNdEx >= l {
  9430  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9431  					}
  9432  					b := dAtA[iNdEx]
  9433  					iNdEx++
  9434  					msglen |= int(b&0x7F) << shift
  9435  					if b < 0x80 {
  9436  						break
  9437  					}
  9438  				}
  9439  				if msglen < 0 {
  9440  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9441  				}
  9442  				postIndex := iNdEx + msglen
  9443  				if postIndex < 0 {
  9444  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9445  				}
  9446  				if postIndex > l {
  9447  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9448  				}
  9449  				if x.G == nil {
  9450  					x.G = &anypb.Any{}
  9451  				}
  9452  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
  9453  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9454  				}
  9455  				iNdEx = postIndex
  9456  			case 9:
  9457  				if wireType != 2 {
  9458  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  9459  				}
  9460  				var msglen int
  9461  				for shift := uint(0); ; shift += 7 {
  9462  					if shift >= 64 {
  9463  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9464  					}
  9465  					if iNdEx >= l {
  9466  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9467  					}
  9468  					b := dAtA[iNdEx]
  9469  					iNdEx++
  9470  					msglen |= int(b&0x7F) << shift
  9471  					if b < 0x80 {
  9472  						break
  9473  					}
  9474  				}
  9475  				if msglen < 0 {
  9476  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9477  				}
  9478  				postIndex := iNdEx + msglen
  9479  				if postIndex < 0 {
  9480  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9481  				}
  9482  				if postIndex > l {
  9483  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9484  				}
  9485  				x.H = append(x.H, &TestVersion1{})
  9486  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
  9487  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9488  				}
  9489  				iNdEx = postIndex
  9490  			case 12:
  9491  				if wireType != 2 {
  9492  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
  9493  				}
  9494  				var msglen int
  9495  				for shift := uint(0); ; shift += 7 {
  9496  					if shift >= 64 {
  9497  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9498  					}
  9499  					if iNdEx >= l {
  9500  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9501  					}
  9502  					b := dAtA[iNdEx]
  9503  					iNdEx++
  9504  					msglen |= int(b&0x7F) << shift
  9505  					if b < 0x80 {
  9506  						break
  9507  					}
  9508  				}
  9509  				if msglen < 0 {
  9510  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9511  				}
  9512  				postIndex := iNdEx + msglen
  9513  				if postIndex < 0 {
  9514  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9515  				}
  9516  				if postIndex > l {
  9517  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9518  				}
  9519  				if x.K == nil {
  9520  					x.K = &Customer1{}
  9521  				}
  9522  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
  9523  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9524  				}
  9525  				iNdEx = postIndex
  9526  			case 25:
  9527  				if wireType != 0 {
  9528  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewField_", wireType)
  9529  				}
  9530  				x.NewField_ = 0
  9531  				for shift := uint(0); ; shift += 7 {
  9532  					if shift >= 64 {
  9533  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9534  					}
  9535  					if iNdEx >= l {
  9536  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9537  					}
  9538  					b := dAtA[iNdEx]
  9539  					iNdEx++
  9540  					x.NewField_ |= uint64(b&0x7F) << shift
  9541  					if b < 0x80 {
  9542  						break
  9543  					}
  9544  				}
  9545  			default:
  9546  				iNdEx = preIndex
  9547  				skippy, err := runtime.Skip(dAtA[iNdEx:])
  9548  				if err != nil {
  9549  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9550  				}
  9551  				if (skippy < 0) || (iNdEx+skippy) < 0 {
  9552  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9553  				}
  9554  				if (iNdEx + skippy) > l {
  9555  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9556  				}
  9557  				if !options.DiscardUnknown {
  9558  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
  9559  				}
  9560  				iNdEx += skippy
  9561  			}
  9562  		}
  9563  
  9564  		if iNdEx > l {
  9565  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9566  		}
  9567  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
  9568  	}
  9569  	return &protoiface.Methods{
  9570  		NoUnkeyedLiterals: struct{}{},
  9571  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
  9572  		Size:              size,
  9573  		Marshal:           marshal,
  9574  		Unmarshal:         unmarshal,
  9575  		Merge:             nil,
  9576  		CheckInitialized:  nil,
  9577  	}
  9578  }
  9579  
  9580  var _ protoreflect.List = (*_TestVersion3_4_list)(nil)
  9581  
  9582  type _TestVersion3_4_list struct {
  9583  	list *[]*TestVersion3
  9584  }
  9585  
  9586  func (x *_TestVersion3_4_list) Len() int {
  9587  	if x.list == nil {
  9588  		return 0
  9589  	}
  9590  	return len(*x.list)
  9591  }
  9592  
  9593  func (x *_TestVersion3_4_list) Get(i int) protoreflect.Value {
  9594  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  9595  }
  9596  
  9597  func (x *_TestVersion3_4_list) Set(i int, value protoreflect.Value) {
  9598  	valueUnwrapped := value.Message()
  9599  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
  9600  	(*x.list)[i] = concreteValue
  9601  }
  9602  
  9603  func (x *_TestVersion3_4_list) Append(value protoreflect.Value) {
  9604  	valueUnwrapped := value.Message()
  9605  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
  9606  	*x.list = append(*x.list, concreteValue)
  9607  }
  9608  
  9609  func (x *_TestVersion3_4_list) AppendMutable() protoreflect.Value {
  9610  	v := new(TestVersion3)
  9611  	*x.list = append(*x.list, v)
  9612  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9613  }
  9614  
  9615  func (x *_TestVersion3_4_list) Truncate(n int) {
  9616  	for i := n; i < len(*x.list); i++ {
  9617  		(*x.list)[i] = nil
  9618  	}
  9619  	*x.list = (*x.list)[:n]
  9620  }
  9621  
  9622  func (x *_TestVersion3_4_list) NewElement() protoreflect.Value {
  9623  	v := new(TestVersion3)
  9624  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9625  }
  9626  
  9627  func (x *_TestVersion3_4_list) IsValid() bool {
  9628  	return x.list != nil
  9629  }
  9630  
  9631  var _ protoreflect.List = (*_TestVersion3_5_list)(nil)
  9632  
  9633  type _TestVersion3_5_list struct {
  9634  	list *[]*TestVersion3
  9635  }
  9636  
  9637  func (x *_TestVersion3_5_list) Len() int {
  9638  	if x.list == nil {
  9639  		return 0
  9640  	}
  9641  	return len(*x.list)
  9642  }
  9643  
  9644  func (x *_TestVersion3_5_list) Get(i int) protoreflect.Value {
  9645  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  9646  }
  9647  
  9648  func (x *_TestVersion3_5_list) Set(i int, value protoreflect.Value) {
  9649  	valueUnwrapped := value.Message()
  9650  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
  9651  	(*x.list)[i] = concreteValue
  9652  }
  9653  
  9654  func (x *_TestVersion3_5_list) Append(value protoreflect.Value) {
  9655  	valueUnwrapped := value.Message()
  9656  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
  9657  	*x.list = append(*x.list, concreteValue)
  9658  }
  9659  
  9660  func (x *_TestVersion3_5_list) AppendMutable() protoreflect.Value {
  9661  	v := new(TestVersion3)
  9662  	*x.list = append(*x.list, v)
  9663  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9664  }
  9665  
  9666  func (x *_TestVersion3_5_list) Truncate(n int) {
  9667  	for i := n; i < len(*x.list); i++ {
  9668  		(*x.list)[i] = nil
  9669  	}
  9670  	*x.list = (*x.list)[:n]
  9671  }
  9672  
  9673  func (x *_TestVersion3_5_list) NewElement() protoreflect.Value {
  9674  	v := new(TestVersion3)
  9675  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9676  }
  9677  
  9678  func (x *_TestVersion3_5_list) IsValid() bool {
  9679  	return x.list != nil
  9680  }
  9681  
  9682  var _ protoreflect.List = (*_TestVersion3_9_list)(nil)
  9683  
  9684  type _TestVersion3_9_list struct {
  9685  	list *[]*TestVersion1
  9686  }
  9687  
  9688  func (x *_TestVersion3_9_list) Len() int {
  9689  	if x.list == nil {
  9690  		return 0
  9691  	}
  9692  	return len(*x.list)
  9693  }
  9694  
  9695  func (x *_TestVersion3_9_list) Get(i int) protoreflect.Value {
  9696  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
  9697  }
  9698  
  9699  func (x *_TestVersion3_9_list) Set(i int, value protoreflect.Value) {
  9700  	valueUnwrapped := value.Message()
  9701  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  9702  	(*x.list)[i] = concreteValue
  9703  }
  9704  
  9705  func (x *_TestVersion3_9_list) Append(value protoreflect.Value) {
  9706  	valueUnwrapped := value.Message()
  9707  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
  9708  	*x.list = append(*x.list, concreteValue)
  9709  }
  9710  
  9711  func (x *_TestVersion3_9_list) AppendMutable() protoreflect.Value {
  9712  	v := new(TestVersion1)
  9713  	*x.list = append(*x.list, v)
  9714  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9715  }
  9716  
  9717  func (x *_TestVersion3_9_list) Truncate(n int) {
  9718  	for i := n; i < len(*x.list); i++ {
  9719  		(*x.list)[i] = nil
  9720  	}
  9721  	*x.list = (*x.list)[:n]
  9722  }
  9723  
  9724  func (x *_TestVersion3_9_list) NewElement() protoreflect.Value {
  9725  	v := new(TestVersion1)
  9726  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  9727  }
  9728  
  9729  func (x *_TestVersion3_9_list) IsValid() bool {
  9730  	return x.list != nil
  9731  }
  9732  
  9733  var (
  9734  	md_TestVersion3                    protoreflect.MessageDescriptor
  9735  	fd_TestVersion3_x                  protoreflect.FieldDescriptor
  9736  	fd_TestVersion3_a                  protoreflect.FieldDescriptor
  9737  	fd_TestVersion3_b                  protoreflect.FieldDescriptor
  9738  	fd_TestVersion3_c                  protoreflect.FieldDescriptor
  9739  	fd_TestVersion3_d                  protoreflect.FieldDescriptor
  9740  	fd_TestVersion3_e                  protoreflect.FieldDescriptor
  9741  	fd_TestVersion3_f                  protoreflect.FieldDescriptor
  9742  	fd_TestVersion3_g                  protoreflect.FieldDescriptor
  9743  	fd_TestVersion3_h                  protoreflect.FieldDescriptor
  9744  	fd_TestVersion3_k                  protoreflect.FieldDescriptor
  9745  	fd_TestVersion3_non_critical_field protoreflect.FieldDescriptor
  9746  )
  9747  
  9748  func init() {
  9749  	file_testpb_unknonwnproto_proto_init()
  9750  	md_TestVersion3 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3")
  9751  	fd_TestVersion3_x = md_TestVersion3.Fields().ByName("x")
  9752  	fd_TestVersion3_a = md_TestVersion3.Fields().ByName("a")
  9753  	fd_TestVersion3_b = md_TestVersion3.Fields().ByName("b")
  9754  	fd_TestVersion3_c = md_TestVersion3.Fields().ByName("c")
  9755  	fd_TestVersion3_d = md_TestVersion3.Fields().ByName("d")
  9756  	fd_TestVersion3_e = md_TestVersion3.Fields().ByName("e")
  9757  	fd_TestVersion3_f = md_TestVersion3.Fields().ByName("f")
  9758  	fd_TestVersion3_g = md_TestVersion3.Fields().ByName("g")
  9759  	fd_TestVersion3_h = md_TestVersion3.Fields().ByName("h")
  9760  	fd_TestVersion3_k = md_TestVersion3.Fields().ByName("k")
  9761  	fd_TestVersion3_non_critical_field = md_TestVersion3.Fields().ByName("non_critical_field")
  9762  }
  9763  
  9764  var _ protoreflect.Message = (*fastReflection_TestVersion3)(nil)
  9765  
  9766  type fastReflection_TestVersion3 TestVersion3
  9767  
  9768  func (x *TestVersion3) ProtoReflect() protoreflect.Message {
  9769  	return (*fastReflection_TestVersion3)(x)
  9770  }
  9771  
  9772  func (x *TestVersion3) slowProtoReflect() protoreflect.Message {
  9773  	mi := &file_testpb_unknonwnproto_proto_msgTypes[13]
  9774  	if protoimpl.UnsafeEnabled && x != nil {
  9775  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  9776  		if ms.LoadMessageInfo() == nil {
  9777  			ms.StoreMessageInfo(mi)
  9778  		}
  9779  		return ms
  9780  	}
  9781  	return mi.MessageOf(x)
  9782  }
  9783  
  9784  var _fastReflection_TestVersion3_messageType fastReflection_TestVersion3_messageType
  9785  var _ protoreflect.MessageType = fastReflection_TestVersion3_messageType{}
  9786  
  9787  type fastReflection_TestVersion3_messageType struct{}
  9788  
  9789  func (x fastReflection_TestVersion3_messageType) Zero() protoreflect.Message {
  9790  	return (*fastReflection_TestVersion3)(nil)
  9791  }
  9792  func (x fastReflection_TestVersion3_messageType) New() protoreflect.Message {
  9793  	return new(fastReflection_TestVersion3)
  9794  }
  9795  func (x fastReflection_TestVersion3_messageType) Descriptor() protoreflect.MessageDescriptor {
  9796  	return md_TestVersion3
  9797  }
  9798  
  9799  // Descriptor returns message descriptor, which contains only the protobuf
  9800  // type information for the message.
  9801  func (x *fastReflection_TestVersion3) Descriptor() protoreflect.MessageDescriptor {
  9802  	return md_TestVersion3
  9803  }
  9804  
  9805  // Type returns the message type, which encapsulates both Go and protobuf
  9806  // type information. If the Go type information is not needed,
  9807  // it is recommended that the message descriptor be used instead.
  9808  func (x *fastReflection_TestVersion3) Type() protoreflect.MessageType {
  9809  	return _fastReflection_TestVersion3_messageType
  9810  }
  9811  
  9812  // New returns a newly allocated and mutable empty message.
  9813  func (x *fastReflection_TestVersion3) New() protoreflect.Message {
  9814  	return new(fastReflection_TestVersion3)
  9815  }
  9816  
  9817  // Interface unwraps the message reflection interface and
  9818  // returns the underlying ProtoMessage interface.
  9819  func (x *fastReflection_TestVersion3) Interface() protoreflect.ProtoMessage {
  9820  	return (*TestVersion3)(x)
  9821  }
  9822  
  9823  // Range iterates over every populated field in an undefined order,
  9824  // calling f for each field descriptor and value encountered.
  9825  // Range returns immediately if f returns false.
  9826  // While iterating, mutating operations may only be performed
  9827  // on the current field descriptor.
  9828  func (x *fastReflection_TestVersion3) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  9829  	if x.X != int64(0) {
  9830  		value := protoreflect.ValueOfInt64(x.X)
  9831  		if !f(fd_TestVersion3_x, value) {
  9832  			return
  9833  		}
  9834  	}
  9835  	if x.A != nil {
  9836  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
  9837  		if !f(fd_TestVersion3_a, value) {
  9838  			return
  9839  		}
  9840  	}
  9841  	if x.B != nil {
  9842  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
  9843  		if !f(fd_TestVersion3_b, value) {
  9844  			return
  9845  		}
  9846  	}
  9847  	if len(x.C) != 0 {
  9848  		value := protoreflect.ValueOfList(&_TestVersion3_4_list{list: &x.C})
  9849  		if !f(fd_TestVersion3_c, value) {
  9850  			return
  9851  		}
  9852  	}
  9853  	if len(x.D) != 0 {
  9854  		value := protoreflect.ValueOfList(&_TestVersion3_5_list{list: &x.D})
  9855  		if !f(fd_TestVersion3_d, value) {
  9856  			return
  9857  		}
  9858  	}
  9859  	if x.Sum != nil {
  9860  		switch o := x.Sum.(type) {
  9861  		case *TestVersion3_E:
  9862  			v := o.E
  9863  			value := protoreflect.ValueOfInt32(v)
  9864  			if !f(fd_TestVersion3_e, value) {
  9865  				return
  9866  			}
  9867  		case *TestVersion3_F:
  9868  			v := o.F
  9869  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
  9870  			if !f(fd_TestVersion3_f, value) {
  9871  				return
  9872  			}
  9873  		}
  9874  	}
  9875  	if x.G != nil {
  9876  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
  9877  		if !f(fd_TestVersion3_g, value) {
  9878  			return
  9879  		}
  9880  	}
  9881  	if len(x.H) != 0 {
  9882  		value := protoreflect.ValueOfList(&_TestVersion3_9_list{list: &x.H})
  9883  		if !f(fd_TestVersion3_h, value) {
  9884  			return
  9885  		}
  9886  	}
  9887  	if x.K != nil {
  9888  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
  9889  		if !f(fd_TestVersion3_k, value) {
  9890  			return
  9891  		}
  9892  	}
  9893  	if x.NonCriticalField != "" {
  9894  		value := protoreflect.ValueOfString(x.NonCriticalField)
  9895  		if !f(fd_TestVersion3_non_critical_field, value) {
  9896  			return
  9897  		}
  9898  	}
  9899  }
  9900  
  9901  // Has reports whether a field is populated.
  9902  //
  9903  // Some fields have the property of nullability where it is possible to
  9904  // distinguish between the default value of a field and whether the field
  9905  // was explicitly populated with the default value. Singular message fields,
  9906  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  9907  // fields are populated only if explicitly set.
  9908  //
  9909  // In other cases (aside from the nullable cases above),
  9910  // a proto3 scalar field is populated if it contains a non-zero value, and
  9911  // a repeated field is populated if it is non-empty.
  9912  func (x *fastReflection_TestVersion3) Has(fd protoreflect.FieldDescriptor) bool {
  9913  	switch fd.FullName() {
  9914  	case "testpb.TestVersion3.x":
  9915  		return x.X != int64(0)
  9916  	case "testpb.TestVersion3.a":
  9917  		return x.A != nil
  9918  	case "testpb.TestVersion3.b":
  9919  		return x.B != nil
  9920  	case "testpb.TestVersion3.c":
  9921  		return len(x.C) != 0
  9922  	case "testpb.TestVersion3.d":
  9923  		return len(x.D) != 0
  9924  	case "testpb.TestVersion3.e":
  9925  		if x.Sum == nil {
  9926  			return false
  9927  		} else if _, ok := x.Sum.(*TestVersion3_E); ok {
  9928  			return true
  9929  		} else {
  9930  			return false
  9931  		}
  9932  	case "testpb.TestVersion3.f":
  9933  		if x.Sum == nil {
  9934  			return false
  9935  		} else if _, ok := x.Sum.(*TestVersion3_F); ok {
  9936  			return true
  9937  		} else {
  9938  			return false
  9939  		}
  9940  	case "testpb.TestVersion3.g":
  9941  		return x.G != nil
  9942  	case "testpb.TestVersion3.h":
  9943  		return len(x.H) != 0
  9944  	case "testpb.TestVersion3.k":
  9945  		return x.K != nil
  9946  	case "testpb.TestVersion3.non_critical_field":
  9947  		return x.NonCriticalField != ""
  9948  	default:
  9949  		if fd.IsExtension() {
  9950  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
  9951  		}
  9952  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", fd.FullName()))
  9953  	}
  9954  }
  9955  
  9956  // Clear clears the field such that a subsequent Has call reports false.
  9957  //
  9958  // Clearing an extension field clears both the extension type and value
  9959  // associated with the given field number.
  9960  //
  9961  // Clear is a mutating operation and unsafe for concurrent use.
  9962  func (x *fastReflection_TestVersion3) Clear(fd protoreflect.FieldDescriptor) {
  9963  	switch fd.FullName() {
  9964  	case "testpb.TestVersion3.x":
  9965  		x.X = int64(0)
  9966  	case "testpb.TestVersion3.a":
  9967  		x.A = nil
  9968  	case "testpb.TestVersion3.b":
  9969  		x.B = nil
  9970  	case "testpb.TestVersion3.c":
  9971  		x.C = nil
  9972  	case "testpb.TestVersion3.d":
  9973  		x.D = nil
  9974  	case "testpb.TestVersion3.e":
  9975  		x.Sum = nil
  9976  	case "testpb.TestVersion3.f":
  9977  		x.Sum = nil
  9978  	case "testpb.TestVersion3.g":
  9979  		x.G = nil
  9980  	case "testpb.TestVersion3.h":
  9981  		x.H = nil
  9982  	case "testpb.TestVersion3.k":
  9983  		x.K = nil
  9984  	case "testpb.TestVersion3.non_critical_field":
  9985  		x.NonCriticalField = ""
  9986  	default:
  9987  		if fd.IsExtension() {
  9988  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
  9989  		}
  9990  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", fd.FullName()))
  9991  	}
  9992  }
  9993  
  9994  // Get retrieves the value for a field.
  9995  //
  9996  // For unpopulated scalars, it returns the default value, where
  9997  // the default value of a bytes scalar is guaranteed to be a copy.
  9998  // For unpopulated composite types, it returns an empty, read-only view
  9999  // of the value; to obtain a mutable reference, use Mutable.
 10000  func (x *fastReflection_TestVersion3) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 10001  	switch descriptor.FullName() {
 10002  	case "testpb.TestVersion3.x":
 10003  		value := x.X
 10004  		return protoreflect.ValueOfInt64(value)
 10005  	case "testpb.TestVersion3.a":
 10006  		value := x.A
 10007  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10008  	case "testpb.TestVersion3.b":
 10009  		value := x.B
 10010  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10011  	case "testpb.TestVersion3.c":
 10012  		if len(x.C) == 0 {
 10013  			return protoreflect.ValueOfList(&_TestVersion3_4_list{})
 10014  		}
 10015  		listValue := &_TestVersion3_4_list{list: &x.C}
 10016  		return protoreflect.ValueOfList(listValue)
 10017  	case "testpb.TestVersion3.d":
 10018  		if len(x.D) == 0 {
 10019  			return protoreflect.ValueOfList(&_TestVersion3_5_list{})
 10020  		}
 10021  		listValue := &_TestVersion3_5_list{list: &x.D}
 10022  		return protoreflect.ValueOfList(listValue)
 10023  	case "testpb.TestVersion3.e":
 10024  		if x.Sum == nil {
 10025  			return protoreflect.ValueOfInt32(int32(0))
 10026  		} else if v, ok := x.Sum.(*TestVersion3_E); ok {
 10027  			return protoreflect.ValueOfInt32(v.E)
 10028  		} else {
 10029  			return protoreflect.ValueOfInt32(int32(0))
 10030  		}
 10031  	case "testpb.TestVersion3.f":
 10032  		if x.Sum == nil {
 10033  			return protoreflect.ValueOfMessage((*TestVersion3)(nil).ProtoReflect())
 10034  		} else if v, ok := x.Sum.(*TestVersion3_F); ok {
 10035  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
 10036  		} else {
 10037  			return protoreflect.ValueOfMessage((*TestVersion3)(nil).ProtoReflect())
 10038  		}
 10039  	case "testpb.TestVersion3.g":
 10040  		value := x.G
 10041  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10042  	case "testpb.TestVersion3.h":
 10043  		if len(x.H) == 0 {
 10044  			return protoreflect.ValueOfList(&_TestVersion3_9_list{})
 10045  		}
 10046  		listValue := &_TestVersion3_9_list{list: &x.H}
 10047  		return protoreflect.ValueOfList(listValue)
 10048  	case "testpb.TestVersion3.k":
 10049  		value := x.K
 10050  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10051  	case "testpb.TestVersion3.non_critical_field":
 10052  		value := x.NonCriticalField
 10053  		return protoreflect.ValueOfString(value)
 10054  	default:
 10055  		if descriptor.IsExtension() {
 10056  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
 10057  		}
 10058  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", descriptor.FullName()))
 10059  	}
 10060  }
 10061  
 10062  // Set stores the value for a field.
 10063  //
 10064  // For a field belonging to a oneof, it implicitly clears any other field
 10065  // that may be currently set within the same oneof.
 10066  // For extension fields, it implicitly stores the provided ExtensionType.
 10067  // When setting a composite type, it is unspecified whether the stored value
 10068  // aliases the source's memory in any way. If the composite value is an
 10069  // empty, read-only value, then it panics.
 10070  //
 10071  // Set is a mutating operation and unsafe for concurrent use.
 10072  func (x *fastReflection_TestVersion3) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 10073  	switch fd.FullName() {
 10074  	case "testpb.TestVersion3.x":
 10075  		x.X = value.Int()
 10076  	case "testpb.TestVersion3.a":
 10077  		x.A = value.Message().Interface().(*TestVersion3)
 10078  	case "testpb.TestVersion3.b":
 10079  		x.B = value.Message().Interface().(*TestVersion3)
 10080  	case "testpb.TestVersion3.c":
 10081  		lv := value.List()
 10082  		clv := lv.(*_TestVersion3_4_list)
 10083  		x.C = *clv.list
 10084  	case "testpb.TestVersion3.d":
 10085  		lv := value.List()
 10086  		clv := lv.(*_TestVersion3_5_list)
 10087  		x.D = *clv.list
 10088  	case "testpb.TestVersion3.e":
 10089  		cv := int32(value.Int())
 10090  		x.Sum = &TestVersion3_E{E: cv}
 10091  	case "testpb.TestVersion3.f":
 10092  		cv := value.Message().Interface().(*TestVersion3)
 10093  		x.Sum = &TestVersion3_F{F: cv}
 10094  	case "testpb.TestVersion3.g":
 10095  		x.G = value.Message().Interface().(*anypb.Any)
 10096  	case "testpb.TestVersion3.h":
 10097  		lv := value.List()
 10098  		clv := lv.(*_TestVersion3_9_list)
 10099  		x.H = *clv.list
 10100  	case "testpb.TestVersion3.k":
 10101  		x.K = value.Message().Interface().(*Customer1)
 10102  	case "testpb.TestVersion3.non_critical_field":
 10103  		x.NonCriticalField = value.Interface().(string)
 10104  	default:
 10105  		if fd.IsExtension() {
 10106  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
 10107  		}
 10108  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", fd.FullName()))
 10109  	}
 10110  }
 10111  
 10112  // Mutable returns a mutable reference to a composite type.
 10113  //
 10114  // If the field is unpopulated, it may allocate a composite value.
 10115  // For a field belonging to a oneof, it implicitly clears any other field
 10116  // that may be currently set within the same oneof.
 10117  // For extension fields, it implicitly stores the provided ExtensionType
 10118  // if not already stored.
 10119  // It panics if the field does not contain a composite type.
 10120  //
 10121  // Mutable is a mutating operation and unsafe for concurrent use.
 10122  func (x *fastReflection_TestVersion3) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10123  	switch fd.FullName() {
 10124  	case "testpb.TestVersion3.a":
 10125  		if x.A == nil {
 10126  			x.A = new(TestVersion3)
 10127  		}
 10128  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 10129  	case "testpb.TestVersion3.b":
 10130  		if x.B == nil {
 10131  			x.B = new(TestVersion3)
 10132  		}
 10133  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
 10134  	case "testpb.TestVersion3.c":
 10135  		if x.C == nil {
 10136  			x.C = []*TestVersion3{}
 10137  		}
 10138  		value := &_TestVersion3_4_list{list: &x.C}
 10139  		return protoreflect.ValueOfList(value)
 10140  	case "testpb.TestVersion3.d":
 10141  		if x.D == nil {
 10142  			x.D = []*TestVersion3{}
 10143  		}
 10144  		value := &_TestVersion3_5_list{list: &x.D}
 10145  		return protoreflect.ValueOfList(value)
 10146  	case "testpb.TestVersion3.f":
 10147  		if x.Sum == nil {
 10148  			value := &TestVersion3{}
 10149  			oneofValue := &TestVersion3_F{F: value}
 10150  			x.Sum = oneofValue
 10151  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 10152  		}
 10153  		switch m := x.Sum.(type) {
 10154  		case *TestVersion3_F:
 10155  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
 10156  		default:
 10157  			value := &TestVersion3{}
 10158  			oneofValue := &TestVersion3_F{F: value}
 10159  			x.Sum = oneofValue
 10160  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 10161  		}
 10162  	case "testpb.TestVersion3.g":
 10163  		if x.G == nil {
 10164  			x.G = new(anypb.Any)
 10165  		}
 10166  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 10167  	case "testpb.TestVersion3.h":
 10168  		if x.H == nil {
 10169  			x.H = []*TestVersion1{}
 10170  		}
 10171  		value := &_TestVersion3_9_list{list: &x.H}
 10172  		return protoreflect.ValueOfList(value)
 10173  	case "testpb.TestVersion3.k":
 10174  		if x.K == nil {
 10175  			x.K = new(Customer1)
 10176  		}
 10177  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
 10178  	case "testpb.TestVersion3.x":
 10179  		panic(fmt.Errorf("field x of message testpb.TestVersion3 is not mutable"))
 10180  	case "testpb.TestVersion3.e":
 10181  		panic(fmt.Errorf("field e of message testpb.TestVersion3 is not mutable"))
 10182  	case "testpb.TestVersion3.non_critical_field":
 10183  		panic(fmt.Errorf("field non_critical_field of message testpb.TestVersion3 is not mutable"))
 10184  	default:
 10185  		if fd.IsExtension() {
 10186  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
 10187  		}
 10188  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", fd.FullName()))
 10189  	}
 10190  }
 10191  
 10192  // NewField returns a new value that is assignable to the field
 10193  // for the given descriptor. For scalars, this returns the default value.
 10194  // For lists, maps, and messages, this returns a new, empty, mutable value.
 10195  func (x *fastReflection_TestVersion3) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10196  	switch fd.FullName() {
 10197  	case "testpb.TestVersion3.x":
 10198  		return protoreflect.ValueOfInt64(int64(0))
 10199  	case "testpb.TestVersion3.a":
 10200  		m := new(TestVersion3)
 10201  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 10202  	case "testpb.TestVersion3.b":
 10203  		m := new(TestVersion3)
 10204  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 10205  	case "testpb.TestVersion3.c":
 10206  		list := []*TestVersion3{}
 10207  		return protoreflect.ValueOfList(&_TestVersion3_4_list{list: &list})
 10208  	case "testpb.TestVersion3.d":
 10209  		list := []*TestVersion3{}
 10210  		return protoreflect.ValueOfList(&_TestVersion3_5_list{list: &list})
 10211  	case "testpb.TestVersion3.e":
 10212  		return protoreflect.ValueOfInt32(int32(0))
 10213  	case "testpb.TestVersion3.f":
 10214  		value := &TestVersion3{}
 10215  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10216  	case "testpb.TestVersion3.g":
 10217  		m := new(anypb.Any)
 10218  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 10219  	case "testpb.TestVersion3.h":
 10220  		list := []*TestVersion1{}
 10221  		return protoreflect.ValueOfList(&_TestVersion3_9_list{list: &list})
 10222  	case "testpb.TestVersion3.k":
 10223  		m := new(Customer1)
 10224  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 10225  	case "testpb.TestVersion3.non_critical_field":
 10226  		return protoreflect.ValueOfString("")
 10227  	default:
 10228  		if fd.IsExtension() {
 10229  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3"))
 10230  		}
 10231  		panic(fmt.Errorf("message testpb.TestVersion3 does not contain field %s", fd.FullName()))
 10232  	}
 10233  }
 10234  
 10235  // WhichOneof reports which field within the oneof is populated,
 10236  // returning nil if none are populated.
 10237  // It panics if the oneof descriptor does not belong to this message.
 10238  func (x *fastReflection_TestVersion3) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 10239  	switch d.FullName() {
 10240  	case "testpb.TestVersion3.sum":
 10241  		if x.Sum == nil {
 10242  			return nil
 10243  		}
 10244  		switch x.Sum.(type) {
 10245  		case *TestVersion3_E:
 10246  			return x.Descriptor().Fields().ByName("e")
 10247  		case *TestVersion3_F:
 10248  			return x.Descriptor().Fields().ByName("f")
 10249  		}
 10250  	default:
 10251  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3", d.FullName()))
 10252  	}
 10253  	panic("unreachable")
 10254  }
 10255  
 10256  // GetUnknown retrieves the entire list of unknown fields.
 10257  // The caller may only mutate the contents of the RawFields
 10258  // if the mutated bytes are stored back into the message with SetUnknown.
 10259  func (x *fastReflection_TestVersion3) GetUnknown() protoreflect.RawFields {
 10260  	return x.unknownFields
 10261  }
 10262  
 10263  // SetUnknown stores an entire list of unknown fields.
 10264  // The raw fields must be syntactically valid according to the wire format.
 10265  // An implementation may panic if this is not the case.
 10266  // Once stored, the caller must not mutate the content of the RawFields.
 10267  // An empty RawFields may be passed to clear the fields.
 10268  //
 10269  // SetUnknown is a mutating operation and unsafe for concurrent use.
 10270  func (x *fastReflection_TestVersion3) SetUnknown(fields protoreflect.RawFields) {
 10271  	x.unknownFields = fields
 10272  }
 10273  
 10274  // IsValid reports whether the message is valid.
 10275  //
 10276  // An invalid message is an empty, read-only value.
 10277  //
 10278  // An invalid message often corresponds to a nil pointer of the concrete
 10279  // message type, but the details are implementation dependent.
 10280  // Validity is not part of the protobuf data model, and may not
 10281  // be preserved in marshaling or other operations.
 10282  func (x *fastReflection_TestVersion3) IsValid() bool {
 10283  	return x != nil
 10284  }
 10285  
 10286  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 10287  // This method may return nil.
 10288  //
 10289  // The returned methods type is identical to
 10290  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 10291  // Consult the protoiface package documentation for details.
 10292  func (x *fastReflection_TestVersion3) ProtoMethods() *protoiface.Methods {
 10293  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 10294  		x := input.Message.Interface().(*TestVersion3)
 10295  		if x == nil {
 10296  			return protoiface.SizeOutput{
 10297  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10298  				Size:              0,
 10299  			}
 10300  		}
 10301  		options := runtime.SizeInputToOptions(input)
 10302  		_ = options
 10303  		var n int
 10304  		var l int
 10305  		_ = l
 10306  		if x.X != 0 {
 10307  			n += 1 + runtime.Sov(uint64(x.X))
 10308  		}
 10309  		if x.A != nil {
 10310  			l = options.Size(x.A)
 10311  			n += 1 + l + runtime.Sov(uint64(l))
 10312  		}
 10313  		if x.B != nil {
 10314  			l = options.Size(x.B)
 10315  			n += 1 + l + runtime.Sov(uint64(l))
 10316  		}
 10317  		if len(x.C) > 0 {
 10318  			for _, e := range x.C {
 10319  				l = options.Size(e)
 10320  				n += 1 + l + runtime.Sov(uint64(l))
 10321  			}
 10322  		}
 10323  		if len(x.D) > 0 {
 10324  			for _, e := range x.D {
 10325  				l = options.Size(e)
 10326  				n += 1 + l + runtime.Sov(uint64(l))
 10327  			}
 10328  		}
 10329  		switch x := x.Sum.(type) {
 10330  		case *TestVersion3_E:
 10331  			if x == nil {
 10332  				break
 10333  			}
 10334  			n += 1 + runtime.Sov(uint64(x.E))
 10335  		case *TestVersion3_F:
 10336  			if x == nil {
 10337  				break
 10338  			}
 10339  			l = options.Size(x.F)
 10340  			n += 1 + l + runtime.Sov(uint64(l))
 10341  		}
 10342  		if x.G != nil {
 10343  			l = options.Size(x.G)
 10344  			n += 1 + l + runtime.Sov(uint64(l))
 10345  		}
 10346  		if len(x.H) > 0 {
 10347  			for _, e := range x.H {
 10348  				l = options.Size(e)
 10349  				n += 1 + l + runtime.Sov(uint64(l))
 10350  			}
 10351  		}
 10352  		if x.K != nil {
 10353  			l = options.Size(x.K)
 10354  			n += 1 + l + runtime.Sov(uint64(l))
 10355  		}
 10356  		l = len(x.NonCriticalField)
 10357  		if l > 0 {
 10358  			n += 2 + l + runtime.Sov(uint64(l))
 10359  		}
 10360  		if x.unknownFields != nil {
 10361  			n += len(x.unknownFields)
 10362  		}
 10363  		return protoiface.SizeOutput{
 10364  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10365  			Size:              n,
 10366  		}
 10367  	}
 10368  
 10369  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 10370  		x := input.Message.Interface().(*TestVersion3)
 10371  		if x == nil {
 10372  			return protoiface.MarshalOutput{
 10373  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10374  				Buf:               input.Buf,
 10375  			}, nil
 10376  		}
 10377  		options := runtime.MarshalInputToOptions(input)
 10378  		_ = options
 10379  		size := options.Size(x)
 10380  		dAtA := make([]byte, size)
 10381  		i := len(dAtA)
 10382  		_ = i
 10383  		var l int
 10384  		_ = l
 10385  		if x.unknownFields != nil {
 10386  			i -= len(x.unknownFields)
 10387  			copy(dAtA[i:], x.unknownFields)
 10388  		}
 10389  		switch x := x.Sum.(type) {
 10390  		case *TestVersion3_E:
 10391  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
 10392  			i--
 10393  			dAtA[i] = 0x30
 10394  		case *TestVersion3_F:
 10395  			encoded, err := options.Marshal(x.F)
 10396  			if err != nil {
 10397  				return protoiface.MarshalOutput{
 10398  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10399  					Buf:               input.Buf,
 10400  				}, err
 10401  			}
 10402  			i -= len(encoded)
 10403  			copy(dAtA[i:], encoded)
 10404  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10405  			i--
 10406  			dAtA[i] = 0x3a
 10407  		}
 10408  		if len(x.NonCriticalField) > 0 {
 10409  			i -= len(x.NonCriticalField)
 10410  			copy(dAtA[i:], x.NonCriticalField)
 10411  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NonCriticalField)))
 10412  			i--
 10413  			dAtA[i] = 0x40
 10414  			i--
 10415  			dAtA[i] = 0xba
 10416  		}
 10417  		if x.K != nil {
 10418  			encoded, err := options.Marshal(x.K)
 10419  			if err != nil {
 10420  				return protoiface.MarshalOutput{
 10421  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10422  					Buf:               input.Buf,
 10423  				}, err
 10424  			}
 10425  			i -= len(encoded)
 10426  			copy(dAtA[i:], encoded)
 10427  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10428  			i--
 10429  			dAtA[i] = 0x62
 10430  		}
 10431  		if len(x.H) > 0 {
 10432  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 10433  				encoded, err := options.Marshal(x.H[iNdEx])
 10434  				if err != nil {
 10435  					return protoiface.MarshalOutput{
 10436  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10437  						Buf:               input.Buf,
 10438  					}, err
 10439  				}
 10440  				i -= len(encoded)
 10441  				copy(dAtA[i:], encoded)
 10442  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10443  				i--
 10444  				dAtA[i] = 0x4a
 10445  			}
 10446  		}
 10447  		if x.G != nil {
 10448  			encoded, err := options.Marshal(x.G)
 10449  			if err != nil {
 10450  				return protoiface.MarshalOutput{
 10451  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10452  					Buf:               input.Buf,
 10453  				}, err
 10454  			}
 10455  			i -= len(encoded)
 10456  			copy(dAtA[i:], encoded)
 10457  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10458  			i--
 10459  			dAtA[i] = 0x42
 10460  		}
 10461  		if len(x.D) > 0 {
 10462  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
 10463  				encoded, err := options.Marshal(x.D[iNdEx])
 10464  				if err != nil {
 10465  					return protoiface.MarshalOutput{
 10466  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10467  						Buf:               input.Buf,
 10468  					}, err
 10469  				}
 10470  				i -= len(encoded)
 10471  				copy(dAtA[i:], encoded)
 10472  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10473  				i--
 10474  				dAtA[i] = 0x2a
 10475  			}
 10476  		}
 10477  		if len(x.C) > 0 {
 10478  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
 10479  				encoded, err := options.Marshal(x.C[iNdEx])
 10480  				if err != nil {
 10481  					return protoiface.MarshalOutput{
 10482  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10483  						Buf:               input.Buf,
 10484  					}, err
 10485  				}
 10486  				i -= len(encoded)
 10487  				copy(dAtA[i:], encoded)
 10488  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10489  				i--
 10490  				dAtA[i] = 0x22
 10491  			}
 10492  		}
 10493  		if x.B != nil {
 10494  			encoded, err := options.Marshal(x.B)
 10495  			if err != nil {
 10496  				return protoiface.MarshalOutput{
 10497  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10498  					Buf:               input.Buf,
 10499  				}, err
 10500  			}
 10501  			i -= len(encoded)
 10502  			copy(dAtA[i:], encoded)
 10503  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10504  			i--
 10505  			dAtA[i] = 0x1a
 10506  		}
 10507  		if x.A != nil {
 10508  			encoded, err := options.Marshal(x.A)
 10509  			if err != nil {
 10510  				return protoiface.MarshalOutput{
 10511  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10512  					Buf:               input.Buf,
 10513  				}, err
 10514  			}
 10515  			i -= len(encoded)
 10516  			copy(dAtA[i:], encoded)
 10517  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10518  			i--
 10519  			dAtA[i] = 0x12
 10520  		}
 10521  		if x.X != 0 {
 10522  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 10523  			i--
 10524  			dAtA[i] = 0x8
 10525  		}
 10526  		if input.Buf != nil {
 10527  			input.Buf = append(input.Buf, dAtA...)
 10528  		} else {
 10529  			input.Buf = dAtA
 10530  		}
 10531  		return protoiface.MarshalOutput{
 10532  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10533  			Buf:               input.Buf,
 10534  		}, nil
 10535  	}
 10536  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 10537  		x := input.Message.Interface().(*TestVersion3)
 10538  		if x == nil {
 10539  			return protoiface.UnmarshalOutput{
 10540  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10541  				Flags:             input.Flags,
 10542  			}, nil
 10543  		}
 10544  		options := runtime.UnmarshalInputToOptions(input)
 10545  		_ = options
 10546  		dAtA := input.Buf
 10547  		l := len(dAtA)
 10548  		iNdEx := 0
 10549  		for iNdEx < l {
 10550  			preIndex := iNdEx
 10551  			var wire uint64
 10552  			for shift := uint(0); ; shift += 7 {
 10553  				if shift >= 64 {
 10554  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10555  				}
 10556  				if iNdEx >= l {
 10557  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10558  				}
 10559  				b := dAtA[iNdEx]
 10560  				iNdEx++
 10561  				wire |= uint64(b&0x7F) << shift
 10562  				if b < 0x80 {
 10563  					break
 10564  				}
 10565  			}
 10566  			fieldNum := int32(wire >> 3)
 10567  			wireType := int(wire & 0x7)
 10568  			if wireType == 4 {
 10569  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3: wiretype end group for non-group")
 10570  			}
 10571  			if fieldNum <= 0 {
 10572  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3: illegal tag %d (wire type %d)", fieldNum, wire)
 10573  			}
 10574  			switch fieldNum {
 10575  			case 1:
 10576  				if wireType != 0 {
 10577  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 10578  				}
 10579  				x.X = 0
 10580  				for shift := uint(0); ; shift += 7 {
 10581  					if shift >= 64 {
 10582  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10583  					}
 10584  					if iNdEx >= l {
 10585  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10586  					}
 10587  					b := dAtA[iNdEx]
 10588  					iNdEx++
 10589  					x.X |= int64(b&0x7F) << shift
 10590  					if b < 0x80 {
 10591  						break
 10592  					}
 10593  				}
 10594  			case 2:
 10595  				if wireType != 2 {
 10596  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 10597  				}
 10598  				var msglen int
 10599  				for shift := uint(0); ; shift += 7 {
 10600  					if shift >= 64 {
 10601  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10602  					}
 10603  					if iNdEx >= l {
 10604  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10605  					}
 10606  					b := dAtA[iNdEx]
 10607  					iNdEx++
 10608  					msglen |= int(b&0x7F) << shift
 10609  					if b < 0x80 {
 10610  						break
 10611  					}
 10612  				}
 10613  				if msglen < 0 {
 10614  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10615  				}
 10616  				postIndex := iNdEx + msglen
 10617  				if postIndex < 0 {
 10618  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10619  				}
 10620  				if postIndex > l {
 10621  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10622  				}
 10623  				if x.A == nil {
 10624  					x.A = &TestVersion3{}
 10625  				}
 10626  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 10627  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10628  				}
 10629  				iNdEx = postIndex
 10630  			case 3:
 10631  				if wireType != 2 {
 10632  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 10633  				}
 10634  				var msglen int
 10635  				for shift := uint(0); ; shift += 7 {
 10636  					if shift >= 64 {
 10637  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10638  					}
 10639  					if iNdEx >= l {
 10640  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10641  					}
 10642  					b := dAtA[iNdEx]
 10643  					iNdEx++
 10644  					msglen |= int(b&0x7F) << shift
 10645  					if b < 0x80 {
 10646  						break
 10647  					}
 10648  				}
 10649  				if msglen < 0 {
 10650  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10651  				}
 10652  				postIndex := iNdEx + msglen
 10653  				if postIndex < 0 {
 10654  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10655  				}
 10656  				if postIndex > l {
 10657  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10658  				}
 10659  				if x.B == nil {
 10660  					x.B = &TestVersion3{}
 10661  				}
 10662  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
 10663  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10664  				}
 10665  				iNdEx = postIndex
 10666  			case 4:
 10667  				if wireType != 2 {
 10668  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 10669  				}
 10670  				var msglen int
 10671  				for shift := uint(0); ; shift += 7 {
 10672  					if shift >= 64 {
 10673  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10674  					}
 10675  					if iNdEx >= l {
 10676  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10677  					}
 10678  					b := dAtA[iNdEx]
 10679  					iNdEx++
 10680  					msglen |= int(b&0x7F) << shift
 10681  					if b < 0x80 {
 10682  						break
 10683  					}
 10684  				}
 10685  				if msglen < 0 {
 10686  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10687  				}
 10688  				postIndex := iNdEx + msglen
 10689  				if postIndex < 0 {
 10690  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10691  				}
 10692  				if postIndex > l {
 10693  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10694  				}
 10695  				x.C = append(x.C, &TestVersion3{})
 10696  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
 10697  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10698  				}
 10699  				iNdEx = postIndex
 10700  			case 5:
 10701  				if wireType != 2 {
 10702  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 10703  				}
 10704  				var msglen int
 10705  				for shift := uint(0); ; shift += 7 {
 10706  					if shift >= 64 {
 10707  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10708  					}
 10709  					if iNdEx >= l {
 10710  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10711  					}
 10712  					b := dAtA[iNdEx]
 10713  					iNdEx++
 10714  					msglen |= int(b&0x7F) << shift
 10715  					if b < 0x80 {
 10716  						break
 10717  					}
 10718  				}
 10719  				if msglen < 0 {
 10720  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10721  				}
 10722  				postIndex := iNdEx + msglen
 10723  				if postIndex < 0 {
 10724  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10725  				}
 10726  				if postIndex > l {
 10727  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10728  				}
 10729  				x.D = append(x.D, &TestVersion3{})
 10730  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
 10731  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10732  				}
 10733  				iNdEx = postIndex
 10734  			case 6:
 10735  				if wireType != 0 {
 10736  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 10737  				}
 10738  				var v int32
 10739  				for shift := uint(0); ; shift += 7 {
 10740  					if shift >= 64 {
 10741  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10742  					}
 10743  					if iNdEx >= l {
 10744  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10745  					}
 10746  					b := dAtA[iNdEx]
 10747  					iNdEx++
 10748  					v |= int32(b&0x7F) << shift
 10749  					if b < 0x80 {
 10750  						break
 10751  					}
 10752  				}
 10753  				x.Sum = &TestVersion3_E{v}
 10754  			case 7:
 10755  				if wireType != 2 {
 10756  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 10757  				}
 10758  				var msglen int
 10759  				for shift := uint(0); ; shift += 7 {
 10760  					if shift >= 64 {
 10761  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10762  					}
 10763  					if iNdEx >= l {
 10764  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10765  					}
 10766  					b := dAtA[iNdEx]
 10767  					iNdEx++
 10768  					msglen |= int(b&0x7F) << shift
 10769  					if b < 0x80 {
 10770  						break
 10771  					}
 10772  				}
 10773  				if msglen < 0 {
 10774  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10775  				}
 10776  				postIndex := iNdEx + msglen
 10777  				if postIndex < 0 {
 10778  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10779  				}
 10780  				if postIndex > l {
 10781  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10782  				}
 10783  				v := &TestVersion3{}
 10784  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 10785  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10786  				}
 10787  				x.Sum = &TestVersion3_F{v}
 10788  				iNdEx = postIndex
 10789  			case 8:
 10790  				if wireType != 2 {
 10791  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 10792  				}
 10793  				var msglen int
 10794  				for shift := uint(0); ; shift += 7 {
 10795  					if shift >= 64 {
 10796  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10797  					}
 10798  					if iNdEx >= l {
 10799  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10800  					}
 10801  					b := dAtA[iNdEx]
 10802  					iNdEx++
 10803  					msglen |= int(b&0x7F) << shift
 10804  					if b < 0x80 {
 10805  						break
 10806  					}
 10807  				}
 10808  				if msglen < 0 {
 10809  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10810  				}
 10811  				postIndex := iNdEx + msglen
 10812  				if postIndex < 0 {
 10813  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10814  				}
 10815  				if postIndex > l {
 10816  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10817  				}
 10818  				if x.G == nil {
 10819  					x.G = &anypb.Any{}
 10820  				}
 10821  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 10822  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10823  				}
 10824  				iNdEx = postIndex
 10825  			case 9:
 10826  				if wireType != 2 {
 10827  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 10828  				}
 10829  				var msglen int
 10830  				for shift := uint(0); ; shift += 7 {
 10831  					if shift >= 64 {
 10832  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10833  					}
 10834  					if iNdEx >= l {
 10835  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10836  					}
 10837  					b := dAtA[iNdEx]
 10838  					iNdEx++
 10839  					msglen |= int(b&0x7F) << shift
 10840  					if b < 0x80 {
 10841  						break
 10842  					}
 10843  				}
 10844  				if msglen < 0 {
 10845  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10846  				}
 10847  				postIndex := iNdEx + msglen
 10848  				if postIndex < 0 {
 10849  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10850  				}
 10851  				if postIndex > l {
 10852  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10853  				}
 10854  				x.H = append(x.H, &TestVersion1{})
 10855  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 10856  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10857  				}
 10858  				iNdEx = postIndex
 10859  			case 12:
 10860  				if wireType != 2 {
 10861  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
 10862  				}
 10863  				var msglen int
 10864  				for shift := uint(0); ; shift += 7 {
 10865  					if shift >= 64 {
 10866  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10867  					}
 10868  					if iNdEx >= l {
 10869  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10870  					}
 10871  					b := dAtA[iNdEx]
 10872  					iNdEx++
 10873  					msglen |= int(b&0x7F) << shift
 10874  					if b < 0x80 {
 10875  						break
 10876  					}
 10877  				}
 10878  				if msglen < 0 {
 10879  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10880  				}
 10881  				postIndex := iNdEx + msglen
 10882  				if postIndex < 0 {
 10883  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10884  				}
 10885  				if postIndex > l {
 10886  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10887  				}
 10888  				if x.K == nil {
 10889  					x.K = &Customer1{}
 10890  				}
 10891  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
 10892  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10893  				}
 10894  				iNdEx = postIndex
 10895  			case 1031:
 10896  				if wireType != 2 {
 10897  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 10898  				}
 10899  				var stringLen uint64
 10900  				for shift := uint(0); ; shift += 7 {
 10901  					if shift >= 64 {
 10902  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10903  					}
 10904  					if iNdEx >= l {
 10905  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10906  					}
 10907  					b := dAtA[iNdEx]
 10908  					iNdEx++
 10909  					stringLen |= uint64(b&0x7F) << shift
 10910  					if b < 0x80 {
 10911  						break
 10912  					}
 10913  				}
 10914  				intStringLen := int(stringLen)
 10915  				if intStringLen < 0 {
 10916  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10917  				}
 10918  				postIndex := iNdEx + intStringLen
 10919  				if postIndex < 0 {
 10920  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10921  				}
 10922  				if postIndex > l {
 10923  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10924  				}
 10925  				x.NonCriticalField = string(dAtA[iNdEx:postIndex])
 10926  				iNdEx = postIndex
 10927  			default:
 10928  				iNdEx = preIndex
 10929  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 10930  				if err != nil {
 10931  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10932  				}
 10933  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 10934  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10935  				}
 10936  				if (iNdEx + skippy) > l {
 10937  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10938  				}
 10939  				if !options.DiscardUnknown {
 10940  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 10941  				}
 10942  				iNdEx += skippy
 10943  			}
 10944  		}
 10945  
 10946  		if iNdEx > l {
 10947  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10948  		}
 10949  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 10950  	}
 10951  	return &protoiface.Methods{
 10952  		NoUnkeyedLiterals: struct{}{},
 10953  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 10954  		Size:              size,
 10955  		Marshal:           marshal,
 10956  		Unmarshal:         unmarshal,
 10957  		Merge:             nil,
 10958  		CheckInitialized:  nil,
 10959  	}
 10960  }
 10961  
 10962  var _ protoreflect.List = (*_TestVersion3LoneOneOfValue_4_list)(nil)
 10963  
 10964  type _TestVersion3LoneOneOfValue_4_list struct {
 10965  	list *[]*TestVersion3
 10966  }
 10967  
 10968  func (x *_TestVersion3LoneOneOfValue_4_list) Len() int {
 10969  	if x.list == nil {
 10970  		return 0
 10971  	}
 10972  	return len(*x.list)
 10973  }
 10974  
 10975  func (x *_TestVersion3LoneOneOfValue_4_list) Get(i int) protoreflect.Value {
 10976  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 10977  }
 10978  
 10979  func (x *_TestVersion3LoneOneOfValue_4_list) Set(i int, value protoreflect.Value) {
 10980  	valueUnwrapped := value.Message()
 10981  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 10982  	(*x.list)[i] = concreteValue
 10983  }
 10984  
 10985  func (x *_TestVersion3LoneOneOfValue_4_list) Append(value protoreflect.Value) {
 10986  	valueUnwrapped := value.Message()
 10987  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 10988  	*x.list = append(*x.list, concreteValue)
 10989  }
 10990  
 10991  func (x *_TestVersion3LoneOneOfValue_4_list) AppendMutable() protoreflect.Value {
 10992  	v := new(TestVersion3)
 10993  	*x.list = append(*x.list, v)
 10994  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 10995  }
 10996  
 10997  func (x *_TestVersion3LoneOneOfValue_4_list) Truncate(n int) {
 10998  	for i := n; i < len(*x.list); i++ {
 10999  		(*x.list)[i] = nil
 11000  	}
 11001  	*x.list = (*x.list)[:n]
 11002  }
 11003  
 11004  func (x *_TestVersion3LoneOneOfValue_4_list) NewElement() protoreflect.Value {
 11005  	v := new(TestVersion3)
 11006  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 11007  }
 11008  
 11009  func (x *_TestVersion3LoneOneOfValue_4_list) IsValid() bool {
 11010  	return x.list != nil
 11011  }
 11012  
 11013  var _ protoreflect.List = (*_TestVersion3LoneOneOfValue_5_list)(nil)
 11014  
 11015  type _TestVersion3LoneOneOfValue_5_list struct {
 11016  	list *[]*TestVersion3
 11017  }
 11018  
 11019  func (x *_TestVersion3LoneOneOfValue_5_list) Len() int {
 11020  	if x.list == nil {
 11021  		return 0
 11022  	}
 11023  	return len(*x.list)
 11024  }
 11025  
 11026  func (x *_TestVersion3LoneOneOfValue_5_list) Get(i int) protoreflect.Value {
 11027  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 11028  }
 11029  
 11030  func (x *_TestVersion3LoneOneOfValue_5_list) Set(i int, value protoreflect.Value) {
 11031  	valueUnwrapped := value.Message()
 11032  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 11033  	(*x.list)[i] = concreteValue
 11034  }
 11035  
 11036  func (x *_TestVersion3LoneOneOfValue_5_list) Append(value protoreflect.Value) {
 11037  	valueUnwrapped := value.Message()
 11038  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 11039  	*x.list = append(*x.list, concreteValue)
 11040  }
 11041  
 11042  func (x *_TestVersion3LoneOneOfValue_5_list) AppendMutable() protoreflect.Value {
 11043  	v := new(TestVersion3)
 11044  	*x.list = append(*x.list, v)
 11045  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 11046  }
 11047  
 11048  func (x *_TestVersion3LoneOneOfValue_5_list) Truncate(n int) {
 11049  	for i := n; i < len(*x.list); i++ {
 11050  		(*x.list)[i] = nil
 11051  	}
 11052  	*x.list = (*x.list)[:n]
 11053  }
 11054  
 11055  func (x *_TestVersion3LoneOneOfValue_5_list) NewElement() protoreflect.Value {
 11056  	v := new(TestVersion3)
 11057  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 11058  }
 11059  
 11060  func (x *_TestVersion3LoneOneOfValue_5_list) IsValid() bool {
 11061  	return x.list != nil
 11062  }
 11063  
 11064  var _ protoreflect.List = (*_TestVersion3LoneOneOfValue_9_list)(nil)
 11065  
 11066  type _TestVersion3LoneOneOfValue_9_list struct {
 11067  	list *[]*TestVersion1
 11068  }
 11069  
 11070  func (x *_TestVersion3LoneOneOfValue_9_list) Len() int {
 11071  	if x.list == nil {
 11072  		return 0
 11073  	}
 11074  	return len(*x.list)
 11075  }
 11076  
 11077  func (x *_TestVersion3LoneOneOfValue_9_list) Get(i int) protoreflect.Value {
 11078  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 11079  }
 11080  
 11081  func (x *_TestVersion3LoneOneOfValue_9_list) Set(i int, value protoreflect.Value) {
 11082  	valueUnwrapped := value.Message()
 11083  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 11084  	(*x.list)[i] = concreteValue
 11085  }
 11086  
 11087  func (x *_TestVersion3LoneOneOfValue_9_list) Append(value protoreflect.Value) {
 11088  	valueUnwrapped := value.Message()
 11089  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 11090  	*x.list = append(*x.list, concreteValue)
 11091  }
 11092  
 11093  func (x *_TestVersion3LoneOneOfValue_9_list) AppendMutable() protoreflect.Value {
 11094  	v := new(TestVersion1)
 11095  	*x.list = append(*x.list, v)
 11096  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 11097  }
 11098  
 11099  func (x *_TestVersion3LoneOneOfValue_9_list) Truncate(n int) {
 11100  	for i := n; i < len(*x.list); i++ {
 11101  		(*x.list)[i] = nil
 11102  	}
 11103  	*x.list = (*x.list)[:n]
 11104  }
 11105  
 11106  func (x *_TestVersion3LoneOneOfValue_9_list) NewElement() protoreflect.Value {
 11107  	v := new(TestVersion1)
 11108  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 11109  }
 11110  
 11111  func (x *_TestVersion3LoneOneOfValue_9_list) IsValid() bool {
 11112  	return x.list != nil
 11113  }
 11114  
 11115  var (
 11116  	md_TestVersion3LoneOneOfValue                    protoreflect.MessageDescriptor
 11117  	fd_TestVersion3LoneOneOfValue_x                  protoreflect.FieldDescriptor
 11118  	fd_TestVersion3LoneOneOfValue_a                  protoreflect.FieldDescriptor
 11119  	fd_TestVersion3LoneOneOfValue_b                  protoreflect.FieldDescriptor
 11120  	fd_TestVersion3LoneOneOfValue_c                  protoreflect.FieldDescriptor
 11121  	fd_TestVersion3LoneOneOfValue_d                  protoreflect.FieldDescriptor
 11122  	fd_TestVersion3LoneOneOfValue_e                  protoreflect.FieldDescriptor
 11123  	fd_TestVersion3LoneOneOfValue_g                  protoreflect.FieldDescriptor
 11124  	fd_TestVersion3LoneOneOfValue_h                  protoreflect.FieldDescriptor
 11125  	fd_TestVersion3LoneOneOfValue_k                  protoreflect.FieldDescriptor
 11126  	fd_TestVersion3LoneOneOfValue_non_critical_field protoreflect.FieldDescriptor
 11127  )
 11128  
 11129  func init() {
 11130  	file_testpb_unknonwnproto_proto_init()
 11131  	md_TestVersion3LoneOneOfValue = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneOneOfValue")
 11132  	fd_TestVersion3LoneOneOfValue_x = md_TestVersion3LoneOneOfValue.Fields().ByName("x")
 11133  	fd_TestVersion3LoneOneOfValue_a = md_TestVersion3LoneOneOfValue.Fields().ByName("a")
 11134  	fd_TestVersion3LoneOneOfValue_b = md_TestVersion3LoneOneOfValue.Fields().ByName("b")
 11135  	fd_TestVersion3LoneOneOfValue_c = md_TestVersion3LoneOneOfValue.Fields().ByName("c")
 11136  	fd_TestVersion3LoneOneOfValue_d = md_TestVersion3LoneOneOfValue.Fields().ByName("d")
 11137  	fd_TestVersion3LoneOneOfValue_e = md_TestVersion3LoneOneOfValue.Fields().ByName("e")
 11138  	fd_TestVersion3LoneOneOfValue_g = md_TestVersion3LoneOneOfValue.Fields().ByName("g")
 11139  	fd_TestVersion3LoneOneOfValue_h = md_TestVersion3LoneOneOfValue.Fields().ByName("h")
 11140  	fd_TestVersion3LoneOneOfValue_k = md_TestVersion3LoneOneOfValue.Fields().ByName("k")
 11141  	fd_TestVersion3LoneOneOfValue_non_critical_field = md_TestVersion3LoneOneOfValue.Fields().ByName("non_critical_field")
 11142  }
 11143  
 11144  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneOneOfValue)(nil)
 11145  
 11146  type fastReflection_TestVersion3LoneOneOfValue TestVersion3LoneOneOfValue
 11147  
 11148  func (x *TestVersion3LoneOneOfValue) ProtoReflect() protoreflect.Message {
 11149  	return (*fastReflection_TestVersion3LoneOneOfValue)(x)
 11150  }
 11151  
 11152  func (x *TestVersion3LoneOneOfValue) slowProtoReflect() protoreflect.Message {
 11153  	mi := &file_testpb_unknonwnproto_proto_msgTypes[14]
 11154  	if protoimpl.UnsafeEnabled && x != nil {
 11155  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 11156  		if ms.LoadMessageInfo() == nil {
 11157  			ms.StoreMessageInfo(mi)
 11158  		}
 11159  		return ms
 11160  	}
 11161  	return mi.MessageOf(x)
 11162  }
 11163  
 11164  var _fastReflection_TestVersion3LoneOneOfValue_messageType fastReflection_TestVersion3LoneOneOfValue_messageType
 11165  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneOneOfValue_messageType{}
 11166  
 11167  type fastReflection_TestVersion3LoneOneOfValue_messageType struct{}
 11168  
 11169  func (x fastReflection_TestVersion3LoneOneOfValue_messageType) Zero() protoreflect.Message {
 11170  	return (*fastReflection_TestVersion3LoneOneOfValue)(nil)
 11171  }
 11172  func (x fastReflection_TestVersion3LoneOneOfValue_messageType) New() protoreflect.Message {
 11173  	return new(fastReflection_TestVersion3LoneOneOfValue)
 11174  }
 11175  func (x fastReflection_TestVersion3LoneOneOfValue_messageType) Descriptor() protoreflect.MessageDescriptor {
 11176  	return md_TestVersion3LoneOneOfValue
 11177  }
 11178  
 11179  // Descriptor returns message descriptor, which contains only the protobuf
 11180  // type information for the message.
 11181  func (x *fastReflection_TestVersion3LoneOneOfValue) Descriptor() protoreflect.MessageDescriptor {
 11182  	return md_TestVersion3LoneOneOfValue
 11183  }
 11184  
 11185  // Type returns the message type, which encapsulates both Go and protobuf
 11186  // type information. If the Go type information is not needed,
 11187  // it is recommended that the message descriptor be used instead.
 11188  func (x *fastReflection_TestVersion3LoneOneOfValue) Type() protoreflect.MessageType {
 11189  	return _fastReflection_TestVersion3LoneOneOfValue_messageType
 11190  }
 11191  
 11192  // New returns a newly allocated and mutable empty message.
 11193  func (x *fastReflection_TestVersion3LoneOneOfValue) New() protoreflect.Message {
 11194  	return new(fastReflection_TestVersion3LoneOneOfValue)
 11195  }
 11196  
 11197  // Interface unwraps the message reflection interface and
 11198  // returns the underlying ProtoMessage interface.
 11199  func (x *fastReflection_TestVersion3LoneOneOfValue) Interface() protoreflect.ProtoMessage {
 11200  	return (*TestVersion3LoneOneOfValue)(x)
 11201  }
 11202  
 11203  // Range iterates over every populated field in an undefined order,
 11204  // calling f for each field descriptor and value encountered.
 11205  // Range returns immediately if f returns false.
 11206  // While iterating, mutating operations may only be performed
 11207  // on the current field descriptor.
 11208  func (x *fastReflection_TestVersion3LoneOneOfValue) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 11209  	if x.X != int64(0) {
 11210  		value := protoreflect.ValueOfInt64(x.X)
 11211  		if !f(fd_TestVersion3LoneOneOfValue_x, value) {
 11212  			return
 11213  		}
 11214  	}
 11215  	if x.A != nil {
 11216  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 11217  		if !f(fd_TestVersion3LoneOneOfValue_a, value) {
 11218  			return
 11219  		}
 11220  	}
 11221  	if x.B != nil {
 11222  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
 11223  		if !f(fd_TestVersion3LoneOneOfValue_b, value) {
 11224  			return
 11225  		}
 11226  	}
 11227  	if len(x.C) != 0 {
 11228  		value := protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_4_list{list: &x.C})
 11229  		if !f(fd_TestVersion3LoneOneOfValue_c, value) {
 11230  			return
 11231  		}
 11232  	}
 11233  	if len(x.D) != 0 {
 11234  		value := protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_5_list{list: &x.D})
 11235  		if !f(fd_TestVersion3LoneOneOfValue_d, value) {
 11236  			return
 11237  		}
 11238  	}
 11239  	if x.Sum != nil {
 11240  		switch o := x.Sum.(type) {
 11241  		case *TestVersion3LoneOneOfValue_E:
 11242  			v := o.E
 11243  			value := protoreflect.ValueOfInt32(v)
 11244  			if !f(fd_TestVersion3LoneOneOfValue_e, value) {
 11245  				return
 11246  			}
 11247  		}
 11248  	}
 11249  	if x.G != nil {
 11250  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
 11251  		if !f(fd_TestVersion3LoneOneOfValue_g, value) {
 11252  			return
 11253  		}
 11254  	}
 11255  	if len(x.H) != 0 {
 11256  		value := protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_9_list{list: &x.H})
 11257  		if !f(fd_TestVersion3LoneOneOfValue_h, value) {
 11258  			return
 11259  		}
 11260  	}
 11261  	if x.K != nil {
 11262  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
 11263  		if !f(fd_TestVersion3LoneOneOfValue_k, value) {
 11264  			return
 11265  		}
 11266  	}
 11267  	if x.NonCriticalField != "" {
 11268  		value := protoreflect.ValueOfString(x.NonCriticalField)
 11269  		if !f(fd_TestVersion3LoneOneOfValue_non_critical_field, value) {
 11270  			return
 11271  		}
 11272  	}
 11273  }
 11274  
 11275  // Has reports whether a field is populated.
 11276  //
 11277  // Some fields have the property of nullability where it is possible to
 11278  // distinguish between the default value of a field and whether the field
 11279  // was explicitly populated with the default value. Singular message fields,
 11280  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 11281  // fields are populated only if explicitly set.
 11282  //
 11283  // In other cases (aside from the nullable cases above),
 11284  // a proto3 scalar field is populated if it contains a non-zero value, and
 11285  // a repeated field is populated if it is non-empty.
 11286  func (x *fastReflection_TestVersion3LoneOneOfValue) Has(fd protoreflect.FieldDescriptor) bool {
 11287  	switch fd.FullName() {
 11288  	case "testpb.TestVersion3LoneOneOfValue.x":
 11289  		return x.X != int64(0)
 11290  	case "testpb.TestVersion3LoneOneOfValue.a":
 11291  		return x.A != nil
 11292  	case "testpb.TestVersion3LoneOneOfValue.b":
 11293  		return x.B != nil
 11294  	case "testpb.TestVersion3LoneOneOfValue.c":
 11295  		return len(x.C) != 0
 11296  	case "testpb.TestVersion3LoneOneOfValue.d":
 11297  		return len(x.D) != 0
 11298  	case "testpb.TestVersion3LoneOneOfValue.e":
 11299  		if x.Sum == nil {
 11300  			return false
 11301  		} else if _, ok := x.Sum.(*TestVersion3LoneOneOfValue_E); ok {
 11302  			return true
 11303  		} else {
 11304  			return false
 11305  		}
 11306  	case "testpb.TestVersion3LoneOneOfValue.g":
 11307  		return x.G != nil
 11308  	case "testpb.TestVersion3LoneOneOfValue.h":
 11309  		return len(x.H) != 0
 11310  	case "testpb.TestVersion3LoneOneOfValue.k":
 11311  		return x.K != nil
 11312  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11313  		return x.NonCriticalField != ""
 11314  	default:
 11315  		if fd.IsExtension() {
 11316  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11317  		}
 11318  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", fd.FullName()))
 11319  	}
 11320  }
 11321  
 11322  // Clear clears the field such that a subsequent Has call reports false.
 11323  //
 11324  // Clearing an extension field clears both the extension type and value
 11325  // associated with the given field number.
 11326  //
 11327  // Clear is a mutating operation and unsafe for concurrent use.
 11328  func (x *fastReflection_TestVersion3LoneOneOfValue) Clear(fd protoreflect.FieldDescriptor) {
 11329  	switch fd.FullName() {
 11330  	case "testpb.TestVersion3LoneOneOfValue.x":
 11331  		x.X = int64(0)
 11332  	case "testpb.TestVersion3LoneOneOfValue.a":
 11333  		x.A = nil
 11334  	case "testpb.TestVersion3LoneOneOfValue.b":
 11335  		x.B = nil
 11336  	case "testpb.TestVersion3LoneOneOfValue.c":
 11337  		x.C = nil
 11338  	case "testpb.TestVersion3LoneOneOfValue.d":
 11339  		x.D = nil
 11340  	case "testpb.TestVersion3LoneOneOfValue.e":
 11341  		x.Sum = nil
 11342  	case "testpb.TestVersion3LoneOneOfValue.g":
 11343  		x.G = nil
 11344  	case "testpb.TestVersion3LoneOneOfValue.h":
 11345  		x.H = nil
 11346  	case "testpb.TestVersion3LoneOneOfValue.k":
 11347  		x.K = nil
 11348  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11349  		x.NonCriticalField = ""
 11350  	default:
 11351  		if fd.IsExtension() {
 11352  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11353  		}
 11354  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", fd.FullName()))
 11355  	}
 11356  }
 11357  
 11358  // Get retrieves the value for a field.
 11359  //
 11360  // For unpopulated scalars, it returns the default value, where
 11361  // the default value of a bytes scalar is guaranteed to be a copy.
 11362  // For unpopulated composite types, it returns an empty, read-only view
 11363  // of the value; to obtain a mutable reference, use Mutable.
 11364  func (x *fastReflection_TestVersion3LoneOneOfValue) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 11365  	switch descriptor.FullName() {
 11366  	case "testpb.TestVersion3LoneOneOfValue.x":
 11367  		value := x.X
 11368  		return protoreflect.ValueOfInt64(value)
 11369  	case "testpb.TestVersion3LoneOneOfValue.a":
 11370  		value := x.A
 11371  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 11372  	case "testpb.TestVersion3LoneOneOfValue.b":
 11373  		value := x.B
 11374  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 11375  	case "testpb.TestVersion3LoneOneOfValue.c":
 11376  		if len(x.C) == 0 {
 11377  			return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_4_list{})
 11378  		}
 11379  		listValue := &_TestVersion3LoneOneOfValue_4_list{list: &x.C}
 11380  		return protoreflect.ValueOfList(listValue)
 11381  	case "testpb.TestVersion3LoneOneOfValue.d":
 11382  		if len(x.D) == 0 {
 11383  			return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_5_list{})
 11384  		}
 11385  		listValue := &_TestVersion3LoneOneOfValue_5_list{list: &x.D}
 11386  		return protoreflect.ValueOfList(listValue)
 11387  	case "testpb.TestVersion3LoneOneOfValue.e":
 11388  		if x.Sum == nil {
 11389  			return protoreflect.ValueOfInt32(int32(0))
 11390  		} else if v, ok := x.Sum.(*TestVersion3LoneOneOfValue_E); ok {
 11391  			return protoreflect.ValueOfInt32(v.E)
 11392  		} else {
 11393  			return protoreflect.ValueOfInt32(int32(0))
 11394  		}
 11395  	case "testpb.TestVersion3LoneOneOfValue.g":
 11396  		value := x.G
 11397  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 11398  	case "testpb.TestVersion3LoneOneOfValue.h":
 11399  		if len(x.H) == 0 {
 11400  			return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_9_list{})
 11401  		}
 11402  		listValue := &_TestVersion3LoneOneOfValue_9_list{list: &x.H}
 11403  		return protoreflect.ValueOfList(listValue)
 11404  	case "testpb.TestVersion3LoneOneOfValue.k":
 11405  		value := x.K
 11406  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 11407  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11408  		value := x.NonCriticalField
 11409  		return protoreflect.ValueOfString(value)
 11410  	default:
 11411  		if descriptor.IsExtension() {
 11412  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11413  		}
 11414  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", descriptor.FullName()))
 11415  	}
 11416  }
 11417  
 11418  // Set stores the value for a field.
 11419  //
 11420  // For a field belonging to a oneof, it implicitly clears any other field
 11421  // that may be currently set within the same oneof.
 11422  // For extension fields, it implicitly stores the provided ExtensionType.
 11423  // When setting a composite type, it is unspecified whether the stored value
 11424  // aliases the source's memory in any way. If the composite value is an
 11425  // empty, read-only value, then it panics.
 11426  //
 11427  // Set is a mutating operation and unsafe for concurrent use.
 11428  func (x *fastReflection_TestVersion3LoneOneOfValue) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 11429  	switch fd.FullName() {
 11430  	case "testpb.TestVersion3LoneOneOfValue.x":
 11431  		x.X = value.Int()
 11432  	case "testpb.TestVersion3LoneOneOfValue.a":
 11433  		x.A = value.Message().Interface().(*TestVersion3)
 11434  	case "testpb.TestVersion3LoneOneOfValue.b":
 11435  		x.B = value.Message().Interface().(*TestVersion3)
 11436  	case "testpb.TestVersion3LoneOneOfValue.c":
 11437  		lv := value.List()
 11438  		clv := lv.(*_TestVersion3LoneOneOfValue_4_list)
 11439  		x.C = *clv.list
 11440  	case "testpb.TestVersion3LoneOneOfValue.d":
 11441  		lv := value.List()
 11442  		clv := lv.(*_TestVersion3LoneOneOfValue_5_list)
 11443  		x.D = *clv.list
 11444  	case "testpb.TestVersion3LoneOneOfValue.e":
 11445  		cv := int32(value.Int())
 11446  		x.Sum = &TestVersion3LoneOneOfValue_E{E: cv}
 11447  	case "testpb.TestVersion3LoneOneOfValue.g":
 11448  		x.G = value.Message().Interface().(*anypb.Any)
 11449  	case "testpb.TestVersion3LoneOneOfValue.h":
 11450  		lv := value.List()
 11451  		clv := lv.(*_TestVersion3LoneOneOfValue_9_list)
 11452  		x.H = *clv.list
 11453  	case "testpb.TestVersion3LoneOneOfValue.k":
 11454  		x.K = value.Message().Interface().(*Customer1)
 11455  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11456  		x.NonCriticalField = value.Interface().(string)
 11457  	default:
 11458  		if fd.IsExtension() {
 11459  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11460  		}
 11461  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", fd.FullName()))
 11462  	}
 11463  }
 11464  
 11465  // Mutable returns a mutable reference to a composite type.
 11466  //
 11467  // If the field is unpopulated, it may allocate a composite value.
 11468  // For a field belonging to a oneof, it implicitly clears any other field
 11469  // that may be currently set within the same oneof.
 11470  // For extension fields, it implicitly stores the provided ExtensionType
 11471  // if not already stored.
 11472  // It panics if the field does not contain a composite type.
 11473  //
 11474  // Mutable is a mutating operation and unsafe for concurrent use.
 11475  func (x *fastReflection_TestVersion3LoneOneOfValue) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 11476  	switch fd.FullName() {
 11477  	case "testpb.TestVersion3LoneOneOfValue.a":
 11478  		if x.A == nil {
 11479  			x.A = new(TestVersion3)
 11480  		}
 11481  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 11482  	case "testpb.TestVersion3LoneOneOfValue.b":
 11483  		if x.B == nil {
 11484  			x.B = new(TestVersion3)
 11485  		}
 11486  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
 11487  	case "testpb.TestVersion3LoneOneOfValue.c":
 11488  		if x.C == nil {
 11489  			x.C = []*TestVersion3{}
 11490  		}
 11491  		value := &_TestVersion3LoneOneOfValue_4_list{list: &x.C}
 11492  		return protoreflect.ValueOfList(value)
 11493  	case "testpb.TestVersion3LoneOneOfValue.d":
 11494  		if x.D == nil {
 11495  			x.D = []*TestVersion3{}
 11496  		}
 11497  		value := &_TestVersion3LoneOneOfValue_5_list{list: &x.D}
 11498  		return protoreflect.ValueOfList(value)
 11499  	case "testpb.TestVersion3LoneOneOfValue.g":
 11500  		if x.G == nil {
 11501  			x.G = new(anypb.Any)
 11502  		}
 11503  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 11504  	case "testpb.TestVersion3LoneOneOfValue.h":
 11505  		if x.H == nil {
 11506  			x.H = []*TestVersion1{}
 11507  		}
 11508  		value := &_TestVersion3LoneOneOfValue_9_list{list: &x.H}
 11509  		return protoreflect.ValueOfList(value)
 11510  	case "testpb.TestVersion3LoneOneOfValue.k":
 11511  		if x.K == nil {
 11512  			x.K = new(Customer1)
 11513  		}
 11514  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
 11515  	case "testpb.TestVersion3LoneOneOfValue.x":
 11516  		panic(fmt.Errorf("field x of message testpb.TestVersion3LoneOneOfValue is not mutable"))
 11517  	case "testpb.TestVersion3LoneOneOfValue.e":
 11518  		panic(fmt.Errorf("field e of message testpb.TestVersion3LoneOneOfValue is not mutable"))
 11519  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11520  		panic(fmt.Errorf("field non_critical_field of message testpb.TestVersion3LoneOneOfValue is not mutable"))
 11521  	default:
 11522  		if fd.IsExtension() {
 11523  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11524  		}
 11525  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", fd.FullName()))
 11526  	}
 11527  }
 11528  
 11529  // NewField returns a new value that is assignable to the field
 11530  // for the given descriptor. For scalars, this returns the default value.
 11531  // For lists, maps, and messages, this returns a new, empty, mutable value.
 11532  func (x *fastReflection_TestVersion3LoneOneOfValue) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 11533  	switch fd.FullName() {
 11534  	case "testpb.TestVersion3LoneOneOfValue.x":
 11535  		return protoreflect.ValueOfInt64(int64(0))
 11536  	case "testpb.TestVersion3LoneOneOfValue.a":
 11537  		m := new(TestVersion3)
 11538  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 11539  	case "testpb.TestVersion3LoneOneOfValue.b":
 11540  		m := new(TestVersion3)
 11541  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 11542  	case "testpb.TestVersion3LoneOneOfValue.c":
 11543  		list := []*TestVersion3{}
 11544  		return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_4_list{list: &list})
 11545  	case "testpb.TestVersion3LoneOneOfValue.d":
 11546  		list := []*TestVersion3{}
 11547  		return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_5_list{list: &list})
 11548  	case "testpb.TestVersion3LoneOneOfValue.e":
 11549  		return protoreflect.ValueOfInt32(int32(0))
 11550  	case "testpb.TestVersion3LoneOneOfValue.g":
 11551  		m := new(anypb.Any)
 11552  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 11553  	case "testpb.TestVersion3LoneOneOfValue.h":
 11554  		list := []*TestVersion1{}
 11555  		return protoreflect.ValueOfList(&_TestVersion3LoneOneOfValue_9_list{list: &list})
 11556  	case "testpb.TestVersion3LoneOneOfValue.k":
 11557  		m := new(Customer1)
 11558  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 11559  	case "testpb.TestVersion3LoneOneOfValue.non_critical_field":
 11560  		return protoreflect.ValueOfString("")
 11561  	default:
 11562  		if fd.IsExtension() {
 11563  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneOneOfValue"))
 11564  		}
 11565  		panic(fmt.Errorf("message testpb.TestVersion3LoneOneOfValue does not contain field %s", fd.FullName()))
 11566  	}
 11567  }
 11568  
 11569  // WhichOneof reports which field within the oneof is populated,
 11570  // returning nil if none are populated.
 11571  // It panics if the oneof descriptor does not belong to this message.
 11572  func (x *fastReflection_TestVersion3LoneOneOfValue) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 11573  	switch d.FullName() {
 11574  	case "testpb.TestVersion3LoneOneOfValue.sum":
 11575  		if x.Sum == nil {
 11576  			return nil
 11577  		}
 11578  		switch x.Sum.(type) {
 11579  		case *TestVersion3LoneOneOfValue_E:
 11580  			return x.Descriptor().Fields().ByName("e")
 11581  		}
 11582  	default:
 11583  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneOneOfValue", d.FullName()))
 11584  	}
 11585  	panic("unreachable")
 11586  }
 11587  
 11588  // GetUnknown retrieves the entire list of unknown fields.
 11589  // The caller may only mutate the contents of the RawFields
 11590  // if the mutated bytes are stored back into the message with SetUnknown.
 11591  func (x *fastReflection_TestVersion3LoneOneOfValue) GetUnknown() protoreflect.RawFields {
 11592  	return x.unknownFields
 11593  }
 11594  
 11595  // SetUnknown stores an entire list of unknown fields.
 11596  // The raw fields must be syntactically valid according to the wire format.
 11597  // An implementation may panic if this is not the case.
 11598  // Once stored, the caller must not mutate the content of the RawFields.
 11599  // An empty RawFields may be passed to clear the fields.
 11600  //
 11601  // SetUnknown is a mutating operation and unsafe for concurrent use.
 11602  func (x *fastReflection_TestVersion3LoneOneOfValue) SetUnknown(fields protoreflect.RawFields) {
 11603  	x.unknownFields = fields
 11604  }
 11605  
 11606  // IsValid reports whether the message is valid.
 11607  //
 11608  // An invalid message is an empty, read-only value.
 11609  //
 11610  // An invalid message often corresponds to a nil pointer of the concrete
 11611  // message type, but the details are implementation dependent.
 11612  // Validity is not part of the protobuf data model, and may not
 11613  // be preserved in marshaling or other operations.
 11614  func (x *fastReflection_TestVersion3LoneOneOfValue) IsValid() bool {
 11615  	return x != nil
 11616  }
 11617  
 11618  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 11619  // This method may return nil.
 11620  //
 11621  // The returned methods type is identical to
 11622  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 11623  // Consult the protoiface package documentation for details.
 11624  func (x *fastReflection_TestVersion3LoneOneOfValue) ProtoMethods() *protoiface.Methods {
 11625  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 11626  		x := input.Message.Interface().(*TestVersion3LoneOneOfValue)
 11627  		if x == nil {
 11628  			return protoiface.SizeOutput{
 11629  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11630  				Size:              0,
 11631  			}
 11632  		}
 11633  		options := runtime.SizeInputToOptions(input)
 11634  		_ = options
 11635  		var n int
 11636  		var l int
 11637  		_ = l
 11638  		if x.X != 0 {
 11639  			n += 1 + runtime.Sov(uint64(x.X))
 11640  		}
 11641  		if x.A != nil {
 11642  			l = options.Size(x.A)
 11643  			n += 1 + l + runtime.Sov(uint64(l))
 11644  		}
 11645  		if x.B != nil {
 11646  			l = options.Size(x.B)
 11647  			n += 1 + l + runtime.Sov(uint64(l))
 11648  		}
 11649  		if len(x.C) > 0 {
 11650  			for _, e := range x.C {
 11651  				l = options.Size(e)
 11652  				n += 1 + l + runtime.Sov(uint64(l))
 11653  			}
 11654  		}
 11655  		if len(x.D) > 0 {
 11656  			for _, e := range x.D {
 11657  				l = options.Size(e)
 11658  				n += 1 + l + runtime.Sov(uint64(l))
 11659  			}
 11660  		}
 11661  		switch x := x.Sum.(type) {
 11662  		case *TestVersion3LoneOneOfValue_E:
 11663  			if x == nil {
 11664  				break
 11665  			}
 11666  			n += 1 + runtime.Sov(uint64(x.E))
 11667  		}
 11668  		if x.G != nil {
 11669  			l = options.Size(x.G)
 11670  			n += 1 + l + runtime.Sov(uint64(l))
 11671  		}
 11672  		if len(x.H) > 0 {
 11673  			for _, e := range x.H {
 11674  				l = options.Size(e)
 11675  				n += 1 + l + runtime.Sov(uint64(l))
 11676  			}
 11677  		}
 11678  		if x.K != nil {
 11679  			l = options.Size(x.K)
 11680  			n += 1 + l + runtime.Sov(uint64(l))
 11681  		}
 11682  		l = len(x.NonCriticalField)
 11683  		if l > 0 {
 11684  			n += 2 + l + runtime.Sov(uint64(l))
 11685  		}
 11686  		if x.unknownFields != nil {
 11687  			n += len(x.unknownFields)
 11688  		}
 11689  		return protoiface.SizeOutput{
 11690  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11691  			Size:              n,
 11692  		}
 11693  	}
 11694  
 11695  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 11696  		x := input.Message.Interface().(*TestVersion3LoneOneOfValue)
 11697  		if x == nil {
 11698  			return protoiface.MarshalOutput{
 11699  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11700  				Buf:               input.Buf,
 11701  			}, nil
 11702  		}
 11703  		options := runtime.MarshalInputToOptions(input)
 11704  		_ = options
 11705  		size := options.Size(x)
 11706  		dAtA := make([]byte, size)
 11707  		i := len(dAtA)
 11708  		_ = i
 11709  		var l int
 11710  		_ = l
 11711  		if x.unknownFields != nil {
 11712  			i -= len(x.unknownFields)
 11713  			copy(dAtA[i:], x.unknownFields)
 11714  		}
 11715  		switch x := x.Sum.(type) {
 11716  		case *TestVersion3LoneOneOfValue_E:
 11717  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
 11718  			i--
 11719  			dAtA[i] = 0x30
 11720  		}
 11721  		if len(x.NonCriticalField) > 0 {
 11722  			i -= len(x.NonCriticalField)
 11723  			copy(dAtA[i:], x.NonCriticalField)
 11724  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NonCriticalField)))
 11725  			i--
 11726  			dAtA[i] = 0x40
 11727  			i--
 11728  			dAtA[i] = 0xba
 11729  		}
 11730  		if x.K != nil {
 11731  			encoded, err := options.Marshal(x.K)
 11732  			if err != nil {
 11733  				return protoiface.MarshalOutput{
 11734  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11735  					Buf:               input.Buf,
 11736  				}, err
 11737  			}
 11738  			i -= len(encoded)
 11739  			copy(dAtA[i:], encoded)
 11740  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11741  			i--
 11742  			dAtA[i] = 0x62
 11743  		}
 11744  		if len(x.H) > 0 {
 11745  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 11746  				encoded, err := options.Marshal(x.H[iNdEx])
 11747  				if err != nil {
 11748  					return protoiface.MarshalOutput{
 11749  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11750  						Buf:               input.Buf,
 11751  					}, err
 11752  				}
 11753  				i -= len(encoded)
 11754  				copy(dAtA[i:], encoded)
 11755  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11756  				i--
 11757  				dAtA[i] = 0x4a
 11758  			}
 11759  		}
 11760  		if x.G != nil {
 11761  			encoded, err := options.Marshal(x.G)
 11762  			if err != nil {
 11763  				return protoiface.MarshalOutput{
 11764  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11765  					Buf:               input.Buf,
 11766  				}, err
 11767  			}
 11768  			i -= len(encoded)
 11769  			copy(dAtA[i:], encoded)
 11770  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11771  			i--
 11772  			dAtA[i] = 0x42
 11773  		}
 11774  		if len(x.D) > 0 {
 11775  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
 11776  				encoded, err := options.Marshal(x.D[iNdEx])
 11777  				if err != nil {
 11778  					return protoiface.MarshalOutput{
 11779  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11780  						Buf:               input.Buf,
 11781  					}, err
 11782  				}
 11783  				i -= len(encoded)
 11784  				copy(dAtA[i:], encoded)
 11785  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11786  				i--
 11787  				dAtA[i] = 0x2a
 11788  			}
 11789  		}
 11790  		if len(x.C) > 0 {
 11791  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
 11792  				encoded, err := options.Marshal(x.C[iNdEx])
 11793  				if err != nil {
 11794  					return protoiface.MarshalOutput{
 11795  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11796  						Buf:               input.Buf,
 11797  					}, err
 11798  				}
 11799  				i -= len(encoded)
 11800  				copy(dAtA[i:], encoded)
 11801  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11802  				i--
 11803  				dAtA[i] = 0x22
 11804  			}
 11805  		}
 11806  		if x.B != nil {
 11807  			encoded, err := options.Marshal(x.B)
 11808  			if err != nil {
 11809  				return protoiface.MarshalOutput{
 11810  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11811  					Buf:               input.Buf,
 11812  				}, err
 11813  			}
 11814  			i -= len(encoded)
 11815  			copy(dAtA[i:], encoded)
 11816  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11817  			i--
 11818  			dAtA[i] = 0x1a
 11819  		}
 11820  		if x.A != nil {
 11821  			encoded, err := options.Marshal(x.A)
 11822  			if err != nil {
 11823  				return protoiface.MarshalOutput{
 11824  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11825  					Buf:               input.Buf,
 11826  				}, err
 11827  			}
 11828  			i -= len(encoded)
 11829  			copy(dAtA[i:], encoded)
 11830  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 11831  			i--
 11832  			dAtA[i] = 0x12
 11833  		}
 11834  		if x.X != 0 {
 11835  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 11836  			i--
 11837  			dAtA[i] = 0x8
 11838  		}
 11839  		if input.Buf != nil {
 11840  			input.Buf = append(input.Buf, dAtA...)
 11841  		} else {
 11842  			input.Buf = dAtA
 11843  		}
 11844  		return protoiface.MarshalOutput{
 11845  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11846  			Buf:               input.Buf,
 11847  		}, nil
 11848  	}
 11849  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 11850  		x := input.Message.Interface().(*TestVersion3LoneOneOfValue)
 11851  		if x == nil {
 11852  			return protoiface.UnmarshalOutput{
 11853  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11854  				Flags:             input.Flags,
 11855  			}, nil
 11856  		}
 11857  		options := runtime.UnmarshalInputToOptions(input)
 11858  		_ = options
 11859  		dAtA := input.Buf
 11860  		l := len(dAtA)
 11861  		iNdEx := 0
 11862  		for iNdEx < l {
 11863  			preIndex := iNdEx
 11864  			var wire uint64
 11865  			for shift := uint(0); ; shift += 7 {
 11866  				if shift >= 64 {
 11867  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11868  				}
 11869  				if iNdEx >= l {
 11870  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11871  				}
 11872  				b := dAtA[iNdEx]
 11873  				iNdEx++
 11874  				wire |= uint64(b&0x7F) << shift
 11875  				if b < 0x80 {
 11876  					break
 11877  				}
 11878  			}
 11879  			fieldNum := int32(wire >> 3)
 11880  			wireType := int(wire & 0x7)
 11881  			if wireType == 4 {
 11882  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneOneOfValue: wiretype end group for non-group")
 11883  			}
 11884  			if fieldNum <= 0 {
 11885  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneOneOfValue: illegal tag %d (wire type %d)", fieldNum, wire)
 11886  			}
 11887  			switch fieldNum {
 11888  			case 1:
 11889  				if wireType != 0 {
 11890  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 11891  				}
 11892  				x.X = 0
 11893  				for shift := uint(0); ; shift += 7 {
 11894  					if shift >= 64 {
 11895  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11896  					}
 11897  					if iNdEx >= l {
 11898  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11899  					}
 11900  					b := dAtA[iNdEx]
 11901  					iNdEx++
 11902  					x.X |= int64(b&0x7F) << shift
 11903  					if b < 0x80 {
 11904  						break
 11905  					}
 11906  				}
 11907  			case 2:
 11908  				if wireType != 2 {
 11909  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 11910  				}
 11911  				var msglen int
 11912  				for shift := uint(0); ; shift += 7 {
 11913  					if shift >= 64 {
 11914  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11915  					}
 11916  					if iNdEx >= l {
 11917  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11918  					}
 11919  					b := dAtA[iNdEx]
 11920  					iNdEx++
 11921  					msglen |= int(b&0x7F) << shift
 11922  					if b < 0x80 {
 11923  						break
 11924  					}
 11925  				}
 11926  				if msglen < 0 {
 11927  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 11928  				}
 11929  				postIndex := iNdEx + msglen
 11930  				if postIndex < 0 {
 11931  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 11932  				}
 11933  				if postIndex > l {
 11934  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11935  				}
 11936  				if x.A == nil {
 11937  					x.A = &TestVersion3{}
 11938  				}
 11939  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 11940  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 11941  				}
 11942  				iNdEx = postIndex
 11943  			case 3:
 11944  				if wireType != 2 {
 11945  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 11946  				}
 11947  				var msglen int
 11948  				for shift := uint(0); ; shift += 7 {
 11949  					if shift >= 64 {
 11950  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11951  					}
 11952  					if iNdEx >= l {
 11953  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11954  					}
 11955  					b := dAtA[iNdEx]
 11956  					iNdEx++
 11957  					msglen |= int(b&0x7F) << shift
 11958  					if b < 0x80 {
 11959  						break
 11960  					}
 11961  				}
 11962  				if msglen < 0 {
 11963  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 11964  				}
 11965  				postIndex := iNdEx + msglen
 11966  				if postIndex < 0 {
 11967  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 11968  				}
 11969  				if postIndex > l {
 11970  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11971  				}
 11972  				if x.B == nil {
 11973  					x.B = &TestVersion3{}
 11974  				}
 11975  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
 11976  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 11977  				}
 11978  				iNdEx = postIndex
 11979  			case 4:
 11980  				if wireType != 2 {
 11981  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 11982  				}
 11983  				var msglen int
 11984  				for shift := uint(0); ; shift += 7 {
 11985  					if shift >= 64 {
 11986  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11987  					}
 11988  					if iNdEx >= l {
 11989  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11990  					}
 11991  					b := dAtA[iNdEx]
 11992  					iNdEx++
 11993  					msglen |= int(b&0x7F) << shift
 11994  					if b < 0x80 {
 11995  						break
 11996  					}
 11997  				}
 11998  				if msglen < 0 {
 11999  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12000  				}
 12001  				postIndex := iNdEx + msglen
 12002  				if postIndex < 0 {
 12003  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12004  				}
 12005  				if postIndex > l {
 12006  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12007  				}
 12008  				x.C = append(x.C, &TestVersion3{})
 12009  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
 12010  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12011  				}
 12012  				iNdEx = postIndex
 12013  			case 5:
 12014  				if wireType != 2 {
 12015  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 12016  				}
 12017  				var msglen int
 12018  				for shift := uint(0); ; shift += 7 {
 12019  					if shift >= 64 {
 12020  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12021  					}
 12022  					if iNdEx >= l {
 12023  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12024  					}
 12025  					b := dAtA[iNdEx]
 12026  					iNdEx++
 12027  					msglen |= int(b&0x7F) << shift
 12028  					if b < 0x80 {
 12029  						break
 12030  					}
 12031  				}
 12032  				if msglen < 0 {
 12033  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12034  				}
 12035  				postIndex := iNdEx + msglen
 12036  				if postIndex < 0 {
 12037  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12038  				}
 12039  				if postIndex > l {
 12040  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12041  				}
 12042  				x.D = append(x.D, &TestVersion3{})
 12043  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
 12044  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12045  				}
 12046  				iNdEx = postIndex
 12047  			case 6:
 12048  				if wireType != 0 {
 12049  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 12050  				}
 12051  				var v int32
 12052  				for shift := uint(0); ; shift += 7 {
 12053  					if shift >= 64 {
 12054  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12055  					}
 12056  					if iNdEx >= l {
 12057  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12058  					}
 12059  					b := dAtA[iNdEx]
 12060  					iNdEx++
 12061  					v |= int32(b&0x7F) << shift
 12062  					if b < 0x80 {
 12063  						break
 12064  					}
 12065  				}
 12066  				x.Sum = &TestVersion3LoneOneOfValue_E{v}
 12067  			case 8:
 12068  				if wireType != 2 {
 12069  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 12070  				}
 12071  				var msglen int
 12072  				for shift := uint(0); ; shift += 7 {
 12073  					if shift >= 64 {
 12074  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12075  					}
 12076  					if iNdEx >= l {
 12077  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12078  					}
 12079  					b := dAtA[iNdEx]
 12080  					iNdEx++
 12081  					msglen |= int(b&0x7F) << shift
 12082  					if b < 0x80 {
 12083  						break
 12084  					}
 12085  				}
 12086  				if msglen < 0 {
 12087  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12088  				}
 12089  				postIndex := iNdEx + msglen
 12090  				if postIndex < 0 {
 12091  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12092  				}
 12093  				if postIndex > l {
 12094  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12095  				}
 12096  				if x.G == nil {
 12097  					x.G = &anypb.Any{}
 12098  				}
 12099  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 12100  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12101  				}
 12102  				iNdEx = postIndex
 12103  			case 9:
 12104  				if wireType != 2 {
 12105  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 12106  				}
 12107  				var msglen int
 12108  				for shift := uint(0); ; shift += 7 {
 12109  					if shift >= 64 {
 12110  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12111  					}
 12112  					if iNdEx >= l {
 12113  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12114  					}
 12115  					b := dAtA[iNdEx]
 12116  					iNdEx++
 12117  					msglen |= int(b&0x7F) << shift
 12118  					if b < 0x80 {
 12119  						break
 12120  					}
 12121  				}
 12122  				if msglen < 0 {
 12123  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12124  				}
 12125  				postIndex := iNdEx + msglen
 12126  				if postIndex < 0 {
 12127  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12128  				}
 12129  				if postIndex > l {
 12130  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12131  				}
 12132  				x.H = append(x.H, &TestVersion1{})
 12133  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 12134  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12135  				}
 12136  				iNdEx = postIndex
 12137  			case 12:
 12138  				if wireType != 2 {
 12139  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
 12140  				}
 12141  				var msglen int
 12142  				for shift := uint(0); ; shift += 7 {
 12143  					if shift >= 64 {
 12144  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12145  					}
 12146  					if iNdEx >= l {
 12147  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12148  					}
 12149  					b := dAtA[iNdEx]
 12150  					iNdEx++
 12151  					msglen |= int(b&0x7F) << shift
 12152  					if b < 0x80 {
 12153  						break
 12154  					}
 12155  				}
 12156  				if msglen < 0 {
 12157  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12158  				}
 12159  				postIndex := iNdEx + msglen
 12160  				if postIndex < 0 {
 12161  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12162  				}
 12163  				if postIndex > l {
 12164  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12165  				}
 12166  				if x.K == nil {
 12167  					x.K = &Customer1{}
 12168  				}
 12169  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
 12170  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12171  				}
 12172  				iNdEx = postIndex
 12173  			case 1031:
 12174  				if wireType != 2 {
 12175  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 12176  				}
 12177  				var stringLen uint64
 12178  				for shift := uint(0); ; shift += 7 {
 12179  					if shift >= 64 {
 12180  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 12181  					}
 12182  					if iNdEx >= l {
 12183  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12184  					}
 12185  					b := dAtA[iNdEx]
 12186  					iNdEx++
 12187  					stringLen |= uint64(b&0x7F) << shift
 12188  					if b < 0x80 {
 12189  						break
 12190  					}
 12191  				}
 12192  				intStringLen := int(stringLen)
 12193  				if intStringLen < 0 {
 12194  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12195  				}
 12196  				postIndex := iNdEx + intStringLen
 12197  				if postIndex < 0 {
 12198  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12199  				}
 12200  				if postIndex > l {
 12201  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12202  				}
 12203  				x.NonCriticalField = string(dAtA[iNdEx:postIndex])
 12204  				iNdEx = postIndex
 12205  			default:
 12206  				iNdEx = preIndex
 12207  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 12208  				if err != nil {
 12209  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 12210  				}
 12211  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 12212  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 12213  				}
 12214  				if (iNdEx + skippy) > l {
 12215  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12216  				}
 12217  				if !options.DiscardUnknown {
 12218  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 12219  				}
 12220  				iNdEx += skippy
 12221  			}
 12222  		}
 12223  
 12224  		if iNdEx > l {
 12225  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 12226  		}
 12227  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 12228  	}
 12229  	return &protoiface.Methods{
 12230  		NoUnkeyedLiterals: struct{}{},
 12231  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 12232  		Size:              size,
 12233  		Marshal:           marshal,
 12234  		Unmarshal:         unmarshal,
 12235  		Merge:             nil,
 12236  		CheckInitialized:  nil,
 12237  	}
 12238  }
 12239  
 12240  var _ protoreflect.List = (*_TestVersion3LoneNesting_4_list)(nil)
 12241  
 12242  type _TestVersion3LoneNesting_4_list struct {
 12243  	list *[]*TestVersion3
 12244  }
 12245  
 12246  func (x *_TestVersion3LoneNesting_4_list) Len() int {
 12247  	if x.list == nil {
 12248  		return 0
 12249  	}
 12250  	return len(*x.list)
 12251  }
 12252  
 12253  func (x *_TestVersion3LoneNesting_4_list) Get(i int) protoreflect.Value {
 12254  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 12255  }
 12256  
 12257  func (x *_TestVersion3LoneNesting_4_list) Set(i int, value protoreflect.Value) {
 12258  	valueUnwrapped := value.Message()
 12259  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 12260  	(*x.list)[i] = concreteValue
 12261  }
 12262  
 12263  func (x *_TestVersion3LoneNesting_4_list) Append(value protoreflect.Value) {
 12264  	valueUnwrapped := value.Message()
 12265  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 12266  	*x.list = append(*x.list, concreteValue)
 12267  }
 12268  
 12269  func (x *_TestVersion3LoneNesting_4_list) AppendMutable() protoreflect.Value {
 12270  	v := new(TestVersion3)
 12271  	*x.list = append(*x.list, v)
 12272  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12273  }
 12274  
 12275  func (x *_TestVersion3LoneNesting_4_list) Truncate(n int) {
 12276  	for i := n; i < len(*x.list); i++ {
 12277  		(*x.list)[i] = nil
 12278  	}
 12279  	*x.list = (*x.list)[:n]
 12280  }
 12281  
 12282  func (x *_TestVersion3LoneNesting_4_list) NewElement() protoreflect.Value {
 12283  	v := new(TestVersion3)
 12284  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12285  }
 12286  
 12287  func (x *_TestVersion3LoneNesting_4_list) IsValid() bool {
 12288  	return x.list != nil
 12289  }
 12290  
 12291  var _ protoreflect.List = (*_TestVersion3LoneNesting_5_list)(nil)
 12292  
 12293  type _TestVersion3LoneNesting_5_list struct {
 12294  	list *[]*TestVersion3
 12295  }
 12296  
 12297  func (x *_TestVersion3LoneNesting_5_list) Len() int {
 12298  	if x.list == nil {
 12299  		return 0
 12300  	}
 12301  	return len(*x.list)
 12302  }
 12303  
 12304  func (x *_TestVersion3LoneNesting_5_list) Get(i int) protoreflect.Value {
 12305  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 12306  }
 12307  
 12308  func (x *_TestVersion3LoneNesting_5_list) Set(i int, value protoreflect.Value) {
 12309  	valueUnwrapped := value.Message()
 12310  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 12311  	(*x.list)[i] = concreteValue
 12312  }
 12313  
 12314  func (x *_TestVersion3LoneNesting_5_list) Append(value protoreflect.Value) {
 12315  	valueUnwrapped := value.Message()
 12316  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 12317  	*x.list = append(*x.list, concreteValue)
 12318  }
 12319  
 12320  func (x *_TestVersion3LoneNesting_5_list) AppendMutable() protoreflect.Value {
 12321  	v := new(TestVersion3)
 12322  	*x.list = append(*x.list, v)
 12323  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12324  }
 12325  
 12326  func (x *_TestVersion3LoneNesting_5_list) Truncate(n int) {
 12327  	for i := n; i < len(*x.list); i++ {
 12328  		(*x.list)[i] = nil
 12329  	}
 12330  	*x.list = (*x.list)[:n]
 12331  }
 12332  
 12333  func (x *_TestVersion3LoneNesting_5_list) NewElement() protoreflect.Value {
 12334  	v := new(TestVersion3)
 12335  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12336  }
 12337  
 12338  func (x *_TestVersion3LoneNesting_5_list) IsValid() bool {
 12339  	return x.list != nil
 12340  }
 12341  
 12342  var _ protoreflect.List = (*_TestVersion3LoneNesting_9_list)(nil)
 12343  
 12344  type _TestVersion3LoneNesting_9_list struct {
 12345  	list *[]*TestVersion1
 12346  }
 12347  
 12348  func (x *_TestVersion3LoneNesting_9_list) Len() int {
 12349  	if x.list == nil {
 12350  		return 0
 12351  	}
 12352  	return len(*x.list)
 12353  }
 12354  
 12355  func (x *_TestVersion3LoneNesting_9_list) Get(i int) protoreflect.Value {
 12356  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 12357  }
 12358  
 12359  func (x *_TestVersion3LoneNesting_9_list) Set(i int, value protoreflect.Value) {
 12360  	valueUnwrapped := value.Message()
 12361  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 12362  	(*x.list)[i] = concreteValue
 12363  }
 12364  
 12365  func (x *_TestVersion3LoneNesting_9_list) Append(value protoreflect.Value) {
 12366  	valueUnwrapped := value.Message()
 12367  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 12368  	*x.list = append(*x.list, concreteValue)
 12369  }
 12370  
 12371  func (x *_TestVersion3LoneNesting_9_list) AppendMutable() protoreflect.Value {
 12372  	v := new(TestVersion1)
 12373  	*x.list = append(*x.list, v)
 12374  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12375  }
 12376  
 12377  func (x *_TestVersion3LoneNesting_9_list) Truncate(n int) {
 12378  	for i := n; i < len(*x.list); i++ {
 12379  		(*x.list)[i] = nil
 12380  	}
 12381  	*x.list = (*x.list)[:n]
 12382  }
 12383  
 12384  func (x *_TestVersion3LoneNesting_9_list) NewElement() protoreflect.Value {
 12385  	v := new(TestVersion1)
 12386  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 12387  }
 12388  
 12389  func (x *_TestVersion3LoneNesting_9_list) IsValid() bool {
 12390  	return x.list != nil
 12391  }
 12392  
 12393  var (
 12394  	md_TestVersion3LoneNesting                    protoreflect.MessageDescriptor
 12395  	fd_TestVersion3LoneNesting_x                  protoreflect.FieldDescriptor
 12396  	fd_TestVersion3LoneNesting_a                  protoreflect.FieldDescriptor
 12397  	fd_TestVersion3LoneNesting_b                  protoreflect.FieldDescriptor
 12398  	fd_TestVersion3LoneNesting_c                  protoreflect.FieldDescriptor
 12399  	fd_TestVersion3LoneNesting_d                  protoreflect.FieldDescriptor
 12400  	fd_TestVersion3LoneNesting_f                  protoreflect.FieldDescriptor
 12401  	fd_TestVersion3LoneNesting_g                  protoreflect.FieldDescriptor
 12402  	fd_TestVersion3LoneNesting_h                  protoreflect.FieldDescriptor
 12403  	fd_TestVersion3LoneNesting_k                  protoreflect.FieldDescriptor
 12404  	fd_TestVersion3LoneNesting_non_critical_field protoreflect.FieldDescriptor
 12405  	fd_TestVersion3LoneNesting_inner1             protoreflect.FieldDescriptor
 12406  	fd_TestVersion3LoneNesting_inner2             protoreflect.FieldDescriptor
 12407  )
 12408  
 12409  func init() {
 12410  	file_testpb_unknonwnproto_proto_init()
 12411  	md_TestVersion3LoneNesting = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneNesting")
 12412  	fd_TestVersion3LoneNesting_x = md_TestVersion3LoneNesting.Fields().ByName("x")
 12413  	fd_TestVersion3LoneNesting_a = md_TestVersion3LoneNesting.Fields().ByName("a")
 12414  	fd_TestVersion3LoneNesting_b = md_TestVersion3LoneNesting.Fields().ByName("b")
 12415  	fd_TestVersion3LoneNesting_c = md_TestVersion3LoneNesting.Fields().ByName("c")
 12416  	fd_TestVersion3LoneNesting_d = md_TestVersion3LoneNesting.Fields().ByName("d")
 12417  	fd_TestVersion3LoneNesting_f = md_TestVersion3LoneNesting.Fields().ByName("f")
 12418  	fd_TestVersion3LoneNesting_g = md_TestVersion3LoneNesting.Fields().ByName("g")
 12419  	fd_TestVersion3LoneNesting_h = md_TestVersion3LoneNesting.Fields().ByName("h")
 12420  	fd_TestVersion3LoneNesting_k = md_TestVersion3LoneNesting.Fields().ByName("k")
 12421  	fd_TestVersion3LoneNesting_non_critical_field = md_TestVersion3LoneNesting.Fields().ByName("non_critical_field")
 12422  	fd_TestVersion3LoneNesting_inner1 = md_TestVersion3LoneNesting.Fields().ByName("inner1")
 12423  	fd_TestVersion3LoneNesting_inner2 = md_TestVersion3LoneNesting.Fields().ByName("inner2")
 12424  }
 12425  
 12426  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneNesting)(nil)
 12427  
 12428  type fastReflection_TestVersion3LoneNesting TestVersion3LoneNesting
 12429  
 12430  func (x *TestVersion3LoneNesting) ProtoReflect() protoreflect.Message {
 12431  	return (*fastReflection_TestVersion3LoneNesting)(x)
 12432  }
 12433  
 12434  func (x *TestVersion3LoneNesting) slowProtoReflect() protoreflect.Message {
 12435  	mi := &file_testpb_unknonwnproto_proto_msgTypes[15]
 12436  	if protoimpl.UnsafeEnabled && x != nil {
 12437  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 12438  		if ms.LoadMessageInfo() == nil {
 12439  			ms.StoreMessageInfo(mi)
 12440  		}
 12441  		return ms
 12442  	}
 12443  	return mi.MessageOf(x)
 12444  }
 12445  
 12446  var _fastReflection_TestVersion3LoneNesting_messageType fastReflection_TestVersion3LoneNesting_messageType
 12447  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneNesting_messageType{}
 12448  
 12449  type fastReflection_TestVersion3LoneNesting_messageType struct{}
 12450  
 12451  func (x fastReflection_TestVersion3LoneNesting_messageType) Zero() protoreflect.Message {
 12452  	return (*fastReflection_TestVersion3LoneNesting)(nil)
 12453  }
 12454  func (x fastReflection_TestVersion3LoneNesting_messageType) New() protoreflect.Message {
 12455  	return new(fastReflection_TestVersion3LoneNesting)
 12456  }
 12457  func (x fastReflection_TestVersion3LoneNesting_messageType) Descriptor() protoreflect.MessageDescriptor {
 12458  	return md_TestVersion3LoneNesting
 12459  }
 12460  
 12461  // Descriptor returns message descriptor, which contains only the protobuf
 12462  // type information for the message.
 12463  func (x *fastReflection_TestVersion3LoneNesting) Descriptor() protoreflect.MessageDescriptor {
 12464  	return md_TestVersion3LoneNesting
 12465  }
 12466  
 12467  // Type returns the message type, which encapsulates both Go and protobuf
 12468  // type information. If the Go type information is not needed,
 12469  // it is recommended that the message descriptor be used instead.
 12470  func (x *fastReflection_TestVersion3LoneNesting) Type() protoreflect.MessageType {
 12471  	return _fastReflection_TestVersion3LoneNesting_messageType
 12472  }
 12473  
 12474  // New returns a newly allocated and mutable empty message.
 12475  func (x *fastReflection_TestVersion3LoneNesting) New() protoreflect.Message {
 12476  	return new(fastReflection_TestVersion3LoneNesting)
 12477  }
 12478  
 12479  // Interface unwraps the message reflection interface and
 12480  // returns the underlying ProtoMessage interface.
 12481  func (x *fastReflection_TestVersion3LoneNesting) Interface() protoreflect.ProtoMessage {
 12482  	return (*TestVersion3LoneNesting)(x)
 12483  }
 12484  
 12485  // Range iterates over every populated field in an undefined order,
 12486  // calling f for each field descriptor and value encountered.
 12487  // Range returns immediately if f returns false.
 12488  // While iterating, mutating operations may only be performed
 12489  // on the current field descriptor.
 12490  func (x *fastReflection_TestVersion3LoneNesting) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 12491  	if x.X != int64(0) {
 12492  		value := protoreflect.ValueOfInt64(x.X)
 12493  		if !f(fd_TestVersion3LoneNesting_x, value) {
 12494  			return
 12495  		}
 12496  	}
 12497  	if x.A != nil {
 12498  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 12499  		if !f(fd_TestVersion3LoneNesting_a, value) {
 12500  			return
 12501  		}
 12502  	}
 12503  	if x.B != nil {
 12504  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
 12505  		if !f(fd_TestVersion3LoneNesting_b, value) {
 12506  			return
 12507  		}
 12508  	}
 12509  	if len(x.C) != 0 {
 12510  		value := protoreflect.ValueOfList(&_TestVersion3LoneNesting_4_list{list: &x.C})
 12511  		if !f(fd_TestVersion3LoneNesting_c, value) {
 12512  			return
 12513  		}
 12514  	}
 12515  	if len(x.D) != 0 {
 12516  		value := protoreflect.ValueOfList(&_TestVersion3LoneNesting_5_list{list: &x.D})
 12517  		if !f(fd_TestVersion3LoneNesting_d, value) {
 12518  			return
 12519  		}
 12520  	}
 12521  	if x.Sum != nil {
 12522  		switch o := x.Sum.(type) {
 12523  		case *TestVersion3LoneNesting_F:
 12524  			v := o.F
 12525  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
 12526  			if !f(fd_TestVersion3LoneNesting_f, value) {
 12527  				return
 12528  			}
 12529  		}
 12530  	}
 12531  	if x.G != nil {
 12532  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
 12533  		if !f(fd_TestVersion3LoneNesting_g, value) {
 12534  			return
 12535  		}
 12536  	}
 12537  	if len(x.H) != 0 {
 12538  		value := protoreflect.ValueOfList(&_TestVersion3LoneNesting_9_list{list: &x.H})
 12539  		if !f(fd_TestVersion3LoneNesting_h, value) {
 12540  			return
 12541  		}
 12542  	}
 12543  	if x.K != nil {
 12544  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
 12545  		if !f(fd_TestVersion3LoneNesting_k, value) {
 12546  			return
 12547  		}
 12548  	}
 12549  	if x.NonCriticalField != "" {
 12550  		value := protoreflect.ValueOfString(x.NonCriticalField)
 12551  		if !f(fd_TestVersion3LoneNesting_non_critical_field, value) {
 12552  			return
 12553  		}
 12554  	}
 12555  	if x.Inner1 != nil {
 12556  		value := protoreflect.ValueOfMessage(x.Inner1.ProtoReflect())
 12557  		if !f(fd_TestVersion3LoneNesting_inner1, value) {
 12558  			return
 12559  		}
 12560  	}
 12561  	if x.Inner2 != nil {
 12562  		value := protoreflect.ValueOfMessage(x.Inner2.ProtoReflect())
 12563  		if !f(fd_TestVersion3LoneNesting_inner2, value) {
 12564  			return
 12565  		}
 12566  	}
 12567  }
 12568  
 12569  // Has reports whether a field is populated.
 12570  //
 12571  // Some fields have the property of nullability where it is possible to
 12572  // distinguish between the default value of a field and whether the field
 12573  // was explicitly populated with the default value. Singular message fields,
 12574  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 12575  // fields are populated only if explicitly set.
 12576  //
 12577  // In other cases (aside from the nullable cases above),
 12578  // a proto3 scalar field is populated if it contains a non-zero value, and
 12579  // a repeated field is populated if it is non-empty.
 12580  func (x *fastReflection_TestVersion3LoneNesting) Has(fd protoreflect.FieldDescriptor) bool {
 12581  	switch fd.FullName() {
 12582  	case "testpb.TestVersion3LoneNesting.x":
 12583  		return x.X != int64(0)
 12584  	case "testpb.TestVersion3LoneNesting.a":
 12585  		return x.A != nil
 12586  	case "testpb.TestVersion3LoneNesting.b":
 12587  		return x.B != nil
 12588  	case "testpb.TestVersion3LoneNesting.c":
 12589  		return len(x.C) != 0
 12590  	case "testpb.TestVersion3LoneNesting.d":
 12591  		return len(x.D) != 0
 12592  	case "testpb.TestVersion3LoneNesting.f":
 12593  		if x.Sum == nil {
 12594  			return false
 12595  		} else if _, ok := x.Sum.(*TestVersion3LoneNesting_F); ok {
 12596  			return true
 12597  		} else {
 12598  			return false
 12599  		}
 12600  	case "testpb.TestVersion3LoneNesting.g":
 12601  		return x.G != nil
 12602  	case "testpb.TestVersion3LoneNesting.h":
 12603  		return len(x.H) != 0
 12604  	case "testpb.TestVersion3LoneNesting.k":
 12605  		return x.K != nil
 12606  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12607  		return x.NonCriticalField != ""
 12608  	case "testpb.TestVersion3LoneNesting.inner1":
 12609  		return x.Inner1 != nil
 12610  	case "testpb.TestVersion3LoneNesting.inner2":
 12611  		return x.Inner2 != nil
 12612  	default:
 12613  		if fd.IsExtension() {
 12614  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12615  		}
 12616  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", fd.FullName()))
 12617  	}
 12618  }
 12619  
 12620  // Clear clears the field such that a subsequent Has call reports false.
 12621  //
 12622  // Clearing an extension field clears both the extension type and value
 12623  // associated with the given field number.
 12624  //
 12625  // Clear is a mutating operation and unsafe for concurrent use.
 12626  func (x *fastReflection_TestVersion3LoneNesting) Clear(fd protoreflect.FieldDescriptor) {
 12627  	switch fd.FullName() {
 12628  	case "testpb.TestVersion3LoneNesting.x":
 12629  		x.X = int64(0)
 12630  	case "testpb.TestVersion3LoneNesting.a":
 12631  		x.A = nil
 12632  	case "testpb.TestVersion3LoneNesting.b":
 12633  		x.B = nil
 12634  	case "testpb.TestVersion3LoneNesting.c":
 12635  		x.C = nil
 12636  	case "testpb.TestVersion3LoneNesting.d":
 12637  		x.D = nil
 12638  	case "testpb.TestVersion3LoneNesting.f":
 12639  		x.Sum = nil
 12640  	case "testpb.TestVersion3LoneNesting.g":
 12641  		x.G = nil
 12642  	case "testpb.TestVersion3LoneNesting.h":
 12643  		x.H = nil
 12644  	case "testpb.TestVersion3LoneNesting.k":
 12645  		x.K = nil
 12646  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12647  		x.NonCriticalField = ""
 12648  	case "testpb.TestVersion3LoneNesting.inner1":
 12649  		x.Inner1 = nil
 12650  	case "testpb.TestVersion3LoneNesting.inner2":
 12651  		x.Inner2 = nil
 12652  	default:
 12653  		if fd.IsExtension() {
 12654  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12655  		}
 12656  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", fd.FullName()))
 12657  	}
 12658  }
 12659  
 12660  // Get retrieves the value for a field.
 12661  //
 12662  // For unpopulated scalars, it returns the default value, where
 12663  // the default value of a bytes scalar is guaranteed to be a copy.
 12664  // For unpopulated composite types, it returns an empty, read-only view
 12665  // of the value; to obtain a mutable reference, use Mutable.
 12666  func (x *fastReflection_TestVersion3LoneNesting) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 12667  	switch descriptor.FullName() {
 12668  	case "testpb.TestVersion3LoneNesting.x":
 12669  		value := x.X
 12670  		return protoreflect.ValueOfInt64(value)
 12671  	case "testpb.TestVersion3LoneNesting.a":
 12672  		value := x.A
 12673  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12674  	case "testpb.TestVersion3LoneNesting.b":
 12675  		value := x.B
 12676  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12677  	case "testpb.TestVersion3LoneNesting.c":
 12678  		if len(x.C) == 0 {
 12679  			return protoreflect.ValueOfList(&_TestVersion3LoneNesting_4_list{})
 12680  		}
 12681  		listValue := &_TestVersion3LoneNesting_4_list{list: &x.C}
 12682  		return protoreflect.ValueOfList(listValue)
 12683  	case "testpb.TestVersion3LoneNesting.d":
 12684  		if len(x.D) == 0 {
 12685  			return protoreflect.ValueOfList(&_TestVersion3LoneNesting_5_list{})
 12686  		}
 12687  		listValue := &_TestVersion3LoneNesting_5_list{list: &x.D}
 12688  		return protoreflect.ValueOfList(listValue)
 12689  	case "testpb.TestVersion3LoneNesting.f":
 12690  		if x.Sum == nil {
 12691  			return protoreflect.ValueOfMessage((*TestVersion3LoneNesting)(nil).ProtoReflect())
 12692  		} else if v, ok := x.Sum.(*TestVersion3LoneNesting_F); ok {
 12693  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
 12694  		} else {
 12695  			return protoreflect.ValueOfMessage((*TestVersion3LoneNesting)(nil).ProtoReflect())
 12696  		}
 12697  	case "testpb.TestVersion3LoneNesting.g":
 12698  		value := x.G
 12699  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12700  	case "testpb.TestVersion3LoneNesting.h":
 12701  		if len(x.H) == 0 {
 12702  			return protoreflect.ValueOfList(&_TestVersion3LoneNesting_9_list{})
 12703  		}
 12704  		listValue := &_TestVersion3LoneNesting_9_list{list: &x.H}
 12705  		return protoreflect.ValueOfList(listValue)
 12706  	case "testpb.TestVersion3LoneNesting.k":
 12707  		value := x.K
 12708  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12709  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12710  		value := x.NonCriticalField
 12711  		return protoreflect.ValueOfString(value)
 12712  	case "testpb.TestVersion3LoneNesting.inner1":
 12713  		value := x.Inner1
 12714  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12715  	case "testpb.TestVersion3LoneNesting.inner2":
 12716  		value := x.Inner2
 12717  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12718  	default:
 12719  		if descriptor.IsExtension() {
 12720  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12721  		}
 12722  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", descriptor.FullName()))
 12723  	}
 12724  }
 12725  
 12726  // Set stores the value for a field.
 12727  //
 12728  // For a field belonging to a oneof, it implicitly clears any other field
 12729  // that may be currently set within the same oneof.
 12730  // For extension fields, it implicitly stores the provided ExtensionType.
 12731  // When setting a composite type, it is unspecified whether the stored value
 12732  // aliases the source's memory in any way. If the composite value is an
 12733  // empty, read-only value, then it panics.
 12734  //
 12735  // Set is a mutating operation and unsafe for concurrent use.
 12736  func (x *fastReflection_TestVersion3LoneNesting) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 12737  	switch fd.FullName() {
 12738  	case "testpb.TestVersion3LoneNesting.x":
 12739  		x.X = value.Int()
 12740  	case "testpb.TestVersion3LoneNesting.a":
 12741  		x.A = value.Message().Interface().(*TestVersion3)
 12742  	case "testpb.TestVersion3LoneNesting.b":
 12743  		x.B = value.Message().Interface().(*TestVersion3)
 12744  	case "testpb.TestVersion3LoneNesting.c":
 12745  		lv := value.List()
 12746  		clv := lv.(*_TestVersion3LoneNesting_4_list)
 12747  		x.C = *clv.list
 12748  	case "testpb.TestVersion3LoneNesting.d":
 12749  		lv := value.List()
 12750  		clv := lv.(*_TestVersion3LoneNesting_5_list)
 12751  		x.D = *clv.list
 12752  	case "testpb.TestVersion3LoneNesting.f":
 12753  		cv := value.Message().Interface().(*TestVersion3LoneNesting)
 12754  		x.Sum = &TestVersion3LoneNesting_F{F: cv}
 12755  	case "testpb.TestVersion3LoneNesting.g":
 12756  		x.G = value.Message().Interface().(*anypb.Any)
 12757  	case "testpb.TestVersion3LoneNesting.h":
 12758  		lv := value.List()
 12759  		clv := lv.(*_TestVersion3LoneNesting_9_list)
 12760  		x.H = *clv.list
 12761  	case "testpb.TestVersion3LoneNesting.k":
 12762  		x.K = value.Message().Interface().(*Customer1)
 12763  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12764  		x.NonCriticalField = value.Interface().(string)
 12765  	case "testpb.TestVersion3LoneNesting.inner1":
 12766  		x.Inner1 = value.Message().Interface().(*TestVersion3LoneNesting_Inner1)
 12767  	case "testpb.TestVersion3LoneNesting.inner2":
 12768  		x.Inner2 = value.Message().Interface().(*TestVersion3LoneNesting_Inner2)
 12769  	default:
 12770  		if fd.IsExtension() {
 12771  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12772  		}
 12773  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", fd.FullName()))
 12774  	}
 12775  }
 12776  
 12777  // Mutable returns a mutable reference to a composite type.
 12778  //
 12779  // If the field is unpopulated, it may allocate a composite value.
 12780  // For a field belonging to a oneof, it implicitly clears any other field
 12781  // that may be currently set within the same oneof.
 12782  // For extension fields, it implicitly stores the provided ExtensionType
 12783  // if not already stored.
 12784  // It panics if the field does not contain a composite type.
 12785  //
 12786  // Mutable is a mutating operation and unsafe for concurrent use.
 12787  func (x *fastReflection_TestVersion3LoneNesting) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 12788  	switch fd.FullName() {
 12789  	case "testpb.TestVersion3LoneNesting.a":
 12790  		if x.A == nil {
 12791  			x.A = new(TestVersion3)
 12792  		}
 12793  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 12794  	case "testpb.TestVersion3LoneNesting.b":
 12795  		if x.B == nil {
 12796  			x.B = new(TestVersion3)
 12797  		}
 12798  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
 12799  	case "testpb.TestVersion3LoneNesting.c":
 12800  		if x.C == nil {
 12801  			x.C = []*TestVersion3{}
 12802  		}
 12803  		value := &_TestVersion3LoneNesting_4_list{list: &x.C}
 12804  		return protoreflect.ValueOfList(value)
 12805  	case "testpb.TestVersion3LoneNesting.d":
 12806  		if x.D == nil {
 12807  			x.D = []*TestVersion3{}
 12808  		}
 12809  		value := &_TestVersion3LoneNesting_5_list{list: &x.D}
 12810  		return protoreflect.ValueOfList(value)
 12811  	case "testpb.TestVersion3LoneNesting.f":
 12812  		if x.Sum == nil {
 12813  			value := &TestVersion3LoneNesting{}
 12814  			oneofValue := &TestVersion3LoneNesting_F{F: value}
 12815  			x.Sum = oneofValue
 12816  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 12817  		}
 12818  		switch m := x.Sum.(type) {
 12819  		case *TestVersion3LoneNesting_F:
 12820  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
 12821  		default:
 12822  			value := &TestVersion3LoneNesting{}
 12823  			oneofValue := &TestVersion3LoneNesting_F{F: value}
 12824  			x.Sum = oneofValue
 12825  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 12826  		}
 12827  	case "testpb.TestVersion3LoneNesting.g":
 12828  		if x.G == nil {
 12829  			x.G = new(anypb.Any)
 12830  		}
 12831  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 12832  	case "testpb.TestVersion3LoneNesting.h":
 12833  		if x.H == nil {
 12834  			x.H = []*TestVersion1{}
 12835  		}
 12836  		value := &_TestVersion3LoneNesting_9_list{list: &x.H}
 12837  		return protoreflect.ValueOfList(value)
 12838  	case "testpb.TestVersion3LoneNesting.k":
 12839  		if x.K == nil {
 12840  			x.K = new(Customer1)
 12841  		}
 12842  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
 12843  	case "testpb.TestVersion3LoneNesting.inner1":
 12844  		if x.Inner1 == nil {
 12845  			x.Inner1 = new(TestVersion3LoneNesting_Inner1)
 12846  		}
 12847  		return protoreflect.ValueOfMessage(x.Inner1.ProtoReflect())
 12848  	case "testpb.TestVersion3LoneNesting.inner2":
 12849  		if x.Inner2 == nil {
 12850  			x.Inner2 = new(TestVersion3LoneNesting_Inner2)
 12851  		}
 12852  		return protoreflect.ValueOfMessage(x.Inner2.ProtoReflect())
 12853  	case "testpb.TestVersion3LoneNesting.x":
 12854  		panic(fmt.Errorf("field x of message testpb.TestVersion3LoneNesting is not mutable"))
 12855  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12856  		panic(fmt.Errorf("field non_critical_field of message testpb.TestVersion3LoneNesting is not mutable"))
 12857  	default:
 12858  		if fd.IsExtension() {
 12859  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12860  		}
 12861  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", fd.FullName()))
 12862  	}
 12863  }
 12864  
 12865  // NewField returns a new value that is assignable to the field
 12866  // for the given descriptor. For scalars, this returns the default value.
 12867  // For lists, maps, and messages, this returns a new, empty, mutable value.
 12868  func (x *fastReflection_TestVersion3LoneNesting) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 12869  	switch fd.FullName() {
 12870  	case "testpb.TestVersion3LoneNesting.x":
 12871  		return protoreflect.ValueOfInt64(int64(0))
 12872  	case "testpb.TestVersion3LoneNesting.a":
 12873  		m := new(TestVersion3)
 12874  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12875  	case "testpb.TestVersion3LoneNesting.b":
 12876  		m := new(TestVersion3)
 12877  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12878  	case "testpb.TestVersion3LoneNesting.c":
 12879  		list := []*TestVersion3{}
 12880  		return protoreflect.ValueOfList(&_TestVersion3LoneNesting_4_list{list: &list})
 12881  	case "testpb.TestVersion3LoneNesting.d":
 12882  		list := []*TestVersion3{}
 12883  		return protoreflect.ValueOfList(&_TestVersion3LoneNesting_5_list{list: &list})
 12884  	case "testpb.TestVersion3LoneNesting.f":
 12885  		value := &TestVersion3LoneNesting{}
 12886  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 12887  	case "testpb.TestVersion3LoneNesting.g":
 12888  		m := new(anypb.Any)
 12889  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12890  	case "testpb.TestVersion3LoneNesting.h":
 12891  		list := []*TestVersion1{}
 12892  		return protoreflect.ValueOfList(&_TestVersion3LoneNesting_9_list{list: &list})
 12893  	case "testpb.TestVersion3LoneNesting.k":
 12894  		m := new(Customer1)
 12895  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12896  	case "testpb.TestVersion3LoneNesting.non_critical_field":
 12897  		return protoreflect.ValueOfString("")
 12898  	case "testpb.TestVersion3LoneNesting.inner1":
 12899  		m := new(TestVersion3LoneNesting_Inner1)
 12900  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12901  	case "testpb.TestVersion3LoneNesting.inner2":
 12902  		m := new(TestVersion3LoneNesting_Inner2)
 12903  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 12904  	default:
 12905  		if fd.IsExtension() {
 12906  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting"))
 12907  		}
 12908  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting does not contain field %s", fd.FullName()))
 12909  	}
 12910  }
 12911  
 12912  // WhichOneof reports which field within the oneof is populated,
 12913  // returning nil if none are populated.
 12914  // It panics if the oneof descriptor does not belong to this message.
 12915  func (x *fastReflection_TestVersion3LoneNesting) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 12916  	switch d.FullName() {
 12917  	case "testpb.TestVersion3LoneNesting.sum":
 12918  		if x.Sum == nil {
 12919  			return nil
 12920  		}
 12921  		switch x.Sum.(type) {
 12922  		case *TestVersion3LoneNesting_F:
 12923  			return x.Descriptor().Fields().ByName("f")
 12924  		}
 12925  	default:
 12926  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneNesting", d.FullName()))
 12927  	}
 12928  	panic("unreachable")
 12929  }
 12930  
 12931  // GetUnknown retrieves the entire list of unknown fields.
 12932  // The caller may only mutate the contents of the RawFields
 12933  // if the mutated bytes are stored back into the message with SetUnknown.
 12934  func (x *fastReflection_TestVersion3LoneNesting) GetUnknown() protoreflect.RawFields {
 12935  	return x.unknownFields
 12936  }
 12937  
 12938  // SetUnknown stores an entire list of unknown fields.
 12939  // The raw fields must be syntactically valid according to the wire format.
 12940  // An implementation may panic if this is not the case.
 12941  // Once stored, the caller must not mutate the content of the RawFields.
 12942  // An empty RawFields may be passed to clear the fields.
 12943  //
 12944  // SetUnknown is a mutating operation and unsafe for concurrent use.
 12945  func (x *fastReflection_TestVersion3LoneNesting) SetUnknown(fields protoreflect.RawFields) {
 12946  	x.unknownFields = fields
 12947  }
 12948  
 12949  // IsValid reports whether the message is valid.
 12950  //
 12951  // An invalid message is an empty, read-only value.
 12952  //
 12953  // An invalid message often corresponds to a nil pointer of the concrete
 12954  // message type, but the details are implementation dependent.
 12955  // Validity is not part of the protobuf data model, and may not
 12956  // be preserved in marshaling or other operations.
 12957  func (x *fastReflection_TestVersion3LoneNesting) IsValid() bool {
 12958  	return x != nil
 12959  }
 12960  
 12961  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 12962  // This method may return nil.
 12963  //
 12964  // The returned methods type is identical to
 12965  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 12966  // Consult the protoiface package documentation for details.
 12967  func (x *fastReflection_TestVersion3LoneNesting) ProtoMethods() *protoiface.Methods {
 12968  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 12969  		x := input.Message.Interface().(*TestVersion3LoneNesting)
 12970  		if x == nil {
 12971  			return protoiface.SizeOutput{
 12972  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 12973  				Size:              0,
 12974  			}
 12975  		}
 12976  		options := runtime.SizeInputToOptions(input)
 12977  		_ = options
 12978  		var n int
 12979  		var l int
 12980  		_ = l
 12981  		if x.X != 0 {
 12982  			n += 1 + runtime.Sov(uint64(x.X))
 12983  		}
 12984  		if x.A != nil {
 12985  			l = options.Size(x.A)
 12986  			n += 1 + l + runtime.Sov(uint64(l))
 12987  		}
 12988  		if x.B != nil {
 12989  			l = options.Size(x.B)
 12990  			n += 1 + l + runtime.Sov(uint64(l))
 12991  		}
 12992  		if len(x.C) > 0 {
 12993  			for _, e := range x.C {
 12994  				l = options.Size(e)
 12995  				n += 1 + l + runtime.Sov(uint64(l))
 12996  			}
 12997  		}
 12998  		if len(x.D) > 0 {
 12999  			for _, e := range x.D {
 13000  				l = options.Size(e)
 13001  				n += 1 + l + runtime.Sov(uint64(l))
 13002  			}
 13003  		}
 13004  		switch x := x.Sum.(type) {
 13005  		case *TestVersion3LoneNesting_F:
 13006  			if x == nil {
 13007  				break
 13008  			}
 13009  			l = options.Size(x.F)
 13010  			n += 1 + l + runtime.Sov(uint64(l))
 13011  		}
 13012  		if x.G != nil {
 13013  			l = options.Size(x.G)
 13014  			n += 1 + l + runtime.Sov(uint64(l))
 13015  		}
 13016  		if len(x.H) > 0 {
 13017  			for _, e := range x.H {
 13018  				l = options.Size(e)
 13019  				n += 1 + l + runtime.Sov(uint64(l))
 13020  			}
 13021  		}
 13022  		if x.K != nil {
 13023  			l = options.Size(x.K)
 13024  			n += 1 + l + runtime.Sov(uint64(l))
 13025  		}
 13026  		l = len(x.NonCriticalField)
 13027  		if l > 0 {
 13028  			n += 2 + l + runtime.Sov(uint64(l))
 13029  		}
 13030  		if x.Inner1 != nil {
 13031  			l = options.Size(x.Inner1)
 13032  			n += 1 + l + runtime.Sov(uint64(l))
 13033  		}
 13034  		if x.Inner2 != nil {
 13035  			l = options.Size(x.Inner2)
 13036  			n += 1 + l + runtime.Sov(uint64(l))
 13037  		}
 13038  		if x.unknownFields != nil {
 13039  			n += len(x.unknownFields)
 13040  		}
 13041  		return protoiface.SizeOutput{
 13042  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13043  			Size:              n,
 13044  		}
 13045  	}
 13046  
 13047  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 13048  		x := input.Message.Interface().(*TestVersion3LoneNesting)
 13049  		if x == nil {
 13050  			return protoiface.MarshalOutput{
 13051  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13052  				Buf:               input.Buf,
 13053  			}, nil
 13054  		}
 13055  		options := runtime.MarshalInputToOptions(input)
 13056  		_ = options
 13057  		size := options.Size(x)
 13058  		dAtA := make([]byte, size)
 13059  		i := len(dAtA)
 13060  		_ = i
 13061  		var l int
 13062  		_ = l
 13063  		if x.unknownFields != nil {
 13064  			i -= len(x.unknownFields)
 13065  			copy(dAtA[i:], x.unknownFields)
 13066  		}
 13067  		switch x := x.Sum.(type) {
 13068  		case *TestVersion3LoneNesting_F:
 13069  			encoded, err := options.Marshal(x.F)
 13070  			if err != nil {
 13071  				return protoiface.MarshalOutput{
 13072  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13073  					Buf:               input.Buf,
 13074  				}, err
 13075  			}
 13076  			i -= len(encoded)
 13077  			copy(dAtA[i:], encoded)
 13078  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13079  			i--
 13080  			dAtA[i] = 0x3a
 13081  		}
 13082  		if len(x.NonCriticalField) > 0 {
 13083  			i -= len(x.NonCriticalField)
 13084  			copy(dAtA[i:], x.NonCriticalField)
 13085  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NonCriticalField)))
 13086  			i--
 13087  			dAtA[i] = 0x40
 13088  			i--
 13089  			dAtA[i] = 0xba
 13090  		}
 13091  		if x.Inner2 != nil {
 13092  			encoded, err := options.Marshal(x.Inner2)
 13093  			if err != nil {
 13094  				return protoiface.MarshalOutput{
 13095  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13096  					Buf:               input.Buf,
 13097  				}, err
 13098  			}
 13099  			i -= len(encoded)
 13100  			copy(dAtA[i:], encoded)
 13101  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13102  			i--
 13103  			dAtA[i] = 0x7a
 13104  		}
 13105  		if x.Inner1 != nil {
 13106  			encoded, err := options.Marshal(x.Inner1)
 13107  			if err != nil {
 13108  				return protoiface.MarshalOutput{
 13109  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13110  					Buf:               input.Buf,
 13111  				}, err
 13112  			}
 13113  			i -= len(encoded)
 13114  			copy(dAtA[i:], encoded)
 13115  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13116  			i--
 13117  			dAtA[i] = 0x72
 13118  		}
 13119  		if x.K != nil {
 13120  			encoded, err := options.Marshal(x.K)
 13121  			if err != nil {
 13122  				return protoiface.MarshalOutput{
 13123  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13124  					Buf:               input.Buf,
 13125  				}, err
 13126  			}
 13127  			i -= len(encoded)
 13128  			copy(dAtA[i:], encoded)
 13129  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13130  			i--
 13131  			dAtA[i] = 0x62
 13132  		}
 13133  		if len(x.H) > 0 {
 13134  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 13135  				encoded, err := options.Marshal(x.H[iNdEx])
 13136  				if err != nil {
 13137  					return protoiface.MarshalOutput{
 13138  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13139  						Buf:               input.Buf,
 13140  					}, err
 13141  				}
 13142  				i -= len(encoded)
 13143  				copy(dAtA[i:], encoded)
 13144  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13145  				i--
 13146  				dAtA[i] = 0x4a
 13147  			}
 13148  		}
 13149  		if x.G != nil {
 13150  			encoded, err := options.Marshal(x.G)
 13151  			if err != nil {
 13152  				return protoiface.MarshalOutput{
 13153  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13154  					Buf:               input.Buf,
 13155  				}, err
 13156  			}
 13157  			i -= len(encoded)
 13158  			copy(dAtA[i:], encoded)
 13159  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13160  			i--
 13161  			dAtA[i] = 0x42
 13162  		}
 13163  		if len(x.D) > 0 {
 13164  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
 13165  				encoded, err := options.Marshal(x.D[iNdEx])
 13166  				if err != nil {
 13167  					return protoiface.MarshalOutput{
 13168  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13169  						Buf:               input.Buf,
 13170  					}, err
 13171  				}
 13172  				i -= len(encoded)
 13173  				copy(dAtA[i:], encoded)
 13174  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13175  				i--
 13176  				dAtA[i] = 0x2a
 13177  			}
 13178  		}
 13179  		if len(x.C) > 0 {
 13180  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
 13181  				encoded, err := options.Marshal(x.C[iNdEx])
 13182  				if err != nil {
 13183  					return protoiface.MarshalOutput{
 13184  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13185  						Buf:               input.Buf,
 13186  					}, err
 13187  				}
 13188  				i -= len(encoded)
 13189  				copy(dAtA[i:], encoded)
 13190  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13191  				i--
 13192  				dAtA[i] = 0x22
 13193  			}
 13194  		}
 13195  		if x.B != nil {
 13196  			encoded, err := options.Marshal(x.B)
 13197  			if err != nil {
 13198  				return protoiface.MarshalOutput{
 13199  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13200  					Buf:               input.Buf,
 13201  				}, err
 13202  			}
 13203  			i -= len(encoded)
 13204  			copy(dAtA[i:], encoded)
 13205  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13206  			i--
 13207  			dAtA[i] = 0x1a
 13208  		}
 13209  		if x.A != nil {
 13210  			encoded, err := options.Marshal(x.A)
 13211  			if err != nil {
 13212  				return protoiface.MarshalOutput{
 13213  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13214  					Buf:               input.Buf,
 13215  				}, err
 13216  			}
 13217  			i -= len(encoded)
 13218  			copy(dAtA[i:], encoded)
 13219  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 13220  			i--
 13221  			dAtA[i] = 0x12
 13222  		}
 13223  		if x.X != 0 {
 13224  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 13225  			i--
 13226  			dAtA[i] = 0x8
 13227  		}
 13228  		if input.Buf != nil {
 13229  			input.Buf = append(input.Buf, dAtA...)
 13230  		} else {
 13231  			input.Buf = dAtA
 13232  		}
 13233  		return protoiface.MarshalOutput{
 13234  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13235  			Buf:               input.Buf,
 13236  		}, nil
 13237  	}
 13238  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 13239  		x := input.Message.Interface().(*TestVersion3LoneNesting)
 13240  		if x == nil {
 13241  			return protoiface.UnmarshalOutput{
 13242  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 13243  				Flags:             input.Flags,
 13244  			}, nil
 13245  		}
 13246  		options := runtime.UnmarshalInputToOptions(input)
 13247  		_ = options
 13248  		dAtA := input.Buf
 13249  		l := len(dAtA)
 13250  		iNdEx := 0
 13251  		for iNdEx < l {
 13252  			preIndex := iNdEx
 13253  			var wire uint64
 13254  			for shift := uint(0); ; shift += 7 {
 13255  				if shift >= 64 {
 13256  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13257  				}
 13258  				if iNdEx >= l {
 13259  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13260  				}
 13261  				b := dAtA[iNdEx]
 13262  				iNdEx++
 13263  				wire |= uint64(b&0x7F) << shift
 13264  				if b < 0x80 {
 13265  					break
 13266  				}
 13267  			}
 13268  			fieldNum := int32(wire >> 3)
 13269  			wireType := int(wire & 0x7)
 13270  			if wireType == 4 {
 13271  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting: wiretype end group for non-group")
 13272  			}
 13273  			if fieldNum <= 0 {
 13274  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting: illegal tag %d (wire type %d)", fieldNum, wire)
 13275  			}
 13276  			switch fieldNum {
 13277  			case 1:
 13278  				if wireType != 0 {
 13279  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 13280  				}
 13281  				x.X = 0
 13282  				for shift := uint(0); ; shift += 7 {
 13283  					if shift >= 64 {
 13284  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13285  					}
 13286  					if iNdEx >= l {
 13287  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13288  					}
 13289  					b := dAtA[iNdEx]
 13290  					iNdEx++
 13291  					x.X |= int64(b&0x7F) << shift
 13292  					if b < 0x80 {
 13293  						break
 13294  					}
 13295  				}
 13296  			case 2:
 13297  				if wireType != 2 {
 13298  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 13299  				}
 13300  				var msglen int
 13301  				for shift := uint(0); ; shift += 7 {
 13302  					if shift >= 64 {
 13303  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13304  					}
 13305  					if iNdEx >= l {
 13306  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13307  					}
 13308  					b := dAtA[iNdEx]
 13309  					iNdEx++
 13310  					msglen |= int(b&0x7F) << shift
 13311  					if b < 0x80 {
 13312  						break
 13313  					}
 13314  				}
 13315  				if msglen < 0 {
 13316  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13317  				}
 13318  				postIndex := iNdEx + msglen
 13319  				if postIndex < 0 {
 13320  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13321  				}
 13322  				if postIndex > l {
 13323  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13324  				}
 13325  				if x.A == nil {
 13326  					x.A = &TestVersion3{}
 13327  				}
 13328  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 13329  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13330  				}
 13331  				iNdEx = postIndex
 13332  			case 3:
 13333  				if wireType != 2 {
 13334  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 13335  				}
 13336  				var msglen int
 13337  				for shift := uint(0); ; shift += 7 {
 13338  					if shift >= 64 {
 13339  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13340  					}
 13341  					if iNdEx >= l {
 13342  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13343  					}
 13344  					b := dAtA[iNdEx]
 13345  					iNdEx++
 13346  					msglen |= int(b&0x7F) << shift
 13347  					if b < 0x80 {
 13348  						break
 13349  					}
 13350  				}
 13351  				if msglen < 0 {
 13352  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13353  				}
 13354  				postIndex := iNdEx + msglen
 13355  				if postIndex < 0 {
 13356  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13357  				}
 13358  				if postIndex > l {
 13359  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13360  				}
 13361  				if x.B == nil {
 13362  					x.B = &TestVersion3{}
 13363  				}
 13364  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
 13365  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13366  				}
 13367  				iNdEx = postIndex
 13368  			case 4:
 13369  				if wireType != 2 {
 13370  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 13371  				}
 13372  				var msglen int
 13373  				for shift := uint(0); ; shift += 7 {
 13374  					if shift >= 64 {
 13375  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13376  					}
 13377  					if iNdEx >= l {
 13378  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13379  					}
 13380  					b := dAtA[iNdEx]
 13381  					iNdEx++
 13382  					msglen |= int(b&0x7F) << shift
 13383  					if b < 0x80 {
 13384  						break
 13385  					}
 13386  				}
 13387  				if msglen < 0 {
 13388  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13389  				}
 13390  				postIndex := iNdEx + msglen
 13391  				if postIndex < 0 {
 13392  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13393  				}
 13394  				if postIndex > l {
 13395  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13396  				}
 13397  				x.C = append(x.C, &TestVersion3{})
 13398  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
 13399  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13400  				}
 13401  				iNdEx = postIndex
 13402  			case 5:
 13403  				if wireType != 2 {
 13404  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 13405  				}
 13406  				var msglen int
 13407  				for shift := uint(0); ; shift += 7 {
 13408  					if shift >= 64 {
 13409  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13410  					}
 13411  					if iNdEx >= l {
 13412  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13413  					}
 13414  					b := dAtA[iNdEx]
 13415  					iNdEx++
 13416  					msglen |= int(b&0x7F) << shift
 13417  					if b < 0x80 {
 13418  						break
 13419  					}
 13420  				}
 13421  				if msglen < 0 {
 13422  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13423  				}
 13424  				postIndex := iNdEx + msglen
 13425  				if postIndex < 0 {
 13426  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13427  				}
 13428  				if postIndex > l {
 13429  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13430  				}
 13431  				x.D = append(x.D, &TestVersion3{})
 13432  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
 13433  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13434  				}
 13435  				iNdEx = postIndex
 13436  			case 7:
 13437  				if wireType != 2 {
 13438  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 13439  				}
 13440  				var msglen int
 13441  				for shift := uint(0); ; shift += 7 {
 13442  					if shift >= 64 {
 13443  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13444  					}
 13445  					if iNdEx >= l {
 13446  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13447  					}
 13448  					b := dAtA[iNdEx]
 13449  					iNdEx++
 13450  					msglen |= int(b&0x7F) << shift
 13451  					if b < 0x80 {
 13452  						break
 13453  					}
 13454  				}
 13455  				if msglen < 0 {
 13456  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13457  				}
 13458  				postIndex := iNdEx + msglen
 13459  				if postIndex < 0 {
 13460  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13461  				}
 13462  				if postIndex > l {
 13463  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13464  				}
 13465  				v := &TestVersion3LoneNesting{}
 13466  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 13467  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13468  				}
 13469  				x.Sum = &TestVersion3LoneNesting_F{v}
 13470  				iNdEx = postIndex
 13471  			case 8:
 13472  				if wireType != 2 {
 13473  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 13474  				}
 13475  				var msglen int
 13476  				for shift := uint(0); ; shift += 7 {
 13477  					if shift >= 64 {
 13478  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13479  					}
 13480  					if iNdEx >= l {
 13481  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13482  					}
 13483  					b := dAtA[iNdEx]
 13484  					iNdEx++
 13485  					msglen |= int(b&0x7F) << shift
 13486  					if b < 0x80 {
 13487  						break
 13488  					}
 13489  				}
 13490  				if msglen < 0 {
 13491  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13492  				}
 13493  				postIndex := iNdEx + msglen
 13494  				if postIndex < 0 {
 13495  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13496  				}
 13497  				if postIndex > l {
 13498  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13499  				}
 13500  				if x.G == nil {
 13501  					x.G = &anypb.Any{}
 13502  				}
 13503  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 13504  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13505  				}
 13506  				iNdEx = postIndex
 13507  			case 9:
 13508  				if wireType != 2 {
 13509  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 13510  				}
 13511  				var msglen int
 13512  				for shift := uint(0); ; shift += 7 {
 13513  					if shift >= 64 {
 13514  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13515  					}
 13516  					if iNdEx >= l {
 13517  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13518  					}
 13519  					b := dAtA[iNdEx]
 13520  					iNdEx++
 13521  					msglen |= int(b&0x7F) << shift
 13522  					if b < 0x80 {
 13523  						break
 13524  					}
 13525  				}
 13526  				if msglen < 0 {
 13527  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13528  				}
 13529  				postIndex := iNdEx + msglen
 13530  				if postIndex < 0 {
 13531  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13532  				}
 13533  				if postIndex > l {
 13534  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13535  				}
 13536  				x.H = append(x.H, &TestVersion1{})
 13537  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 13538  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13539  				}
 13540  				iNdEx = postIndex
 13541  			case 12:
 13542  				if wireType != 2 {
 13543  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
 13544  				}
 13545  				var msglen int
 13546  				for shift := uint(0); ; shift += 7 {
 13547  					if shift >= 64 {
 13548  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13549  					}
 13550  					if iNdEx >= l {
 13551  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13552  					}
 13553  					b := dAtA[iNdEx]
 13554  					iNdEx++
 13555  					msglen |= int(b&0x7F) << shift
 13556  					if b < 0x80 {
 13557  						break
 13558  					}
 13559  				}
 13560  				if msglen < 0 {
 13561  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13562  				}
 13563  				postIndex := iNdEx + msglen
 13564  				if postIndex < 0 {
 13565  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13566  				}
 13567  				if postIndex > l {
 13568  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13569  				}
 13570  				if x.K == nil {
 13571  					x.K = &Customer1{}
 13572  				}
 13573  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
 13574  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13575  				}
 13576  				iNdEx = postIndex
 13577  			case 1031:
 13578  				if wireType != 2 {
 13579  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 13580  				}
 13581  				var stringLen uint64
 13582  				for shift := uint(0); ; shift += 7 {
 13583  					if shift >= 64 {
 13584  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13585  					}
 13586  					if iNdEx >= l {
 13587  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13588  					}
 13589  					b := dAtA[iNdEx]
 13590  					iNdEx++
 13591  					stringLen |= uint64(b&0x7F) << shift
 13592  					if b < 0x80 {
 13593  						break
 13594  					}
 13595  				}
 13596  				intStringLen := int(stringLen)
 13597  				if intStringLen < 0 {
 13598  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13599  				}
 13600  				postIndex := iNdEx + intStringLen
 13601  				if postIndex < 0 {
 13602  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13603  				}
 13604  				if postIndex > l {
 13605  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13606  				}
 13607  				x.NonCriticalField = string(dAtA[iNdEx:postIndex])
 13608  				iNdEx = postIndex
 13609  			case 14:
 13610  				if wireType != 2 {
 13611  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner1", wireType)
 13612  				}
 13613  				var msglen int
 13614  				for shift := uint(0); ; shift += 7 {
 13615  					if shift >= 64 {
 13616  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13617  					}
 13618  					if iNdEx >= l {
 13619  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13620  					}
 13621  					b := dAtA[iNdEx]
 13622  					iNdEx++
 13623  					msglen |= int(b&0x7F) << shift
 13624  					if b < 0x80 {
 13625  						break
 13626  					}
 13627  				}
 13628  				if msglen < 0 {
 13629  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13630  				}
 13631  				postIndex := iNdEx + msglen
 13632  				if postIndex < 0 {
 13633  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13634  				}
 13635  				if postIndex > l {
 13636  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13637  				}
 13638  				if x.Inner1 == nil {
 13639  					x.Inner1 = &TestVersion3LoneNesting_Inner1{}
 13640  				}
 13641  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner1); err != nil {
 13642  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13643  				}
 13644  				iNdEx = postIndex
 13645  			case 15:
 13646  				if wireType != 2 {
 13647  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner2", wireType)
 13648  				}
 13649  				var msglen int
 13650  				for shift := uint(0); ; shift += 7 {
 13651  					if shift >= 64 {
 13652  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 13653  					}
 13654  					if iNdEx >= l {
 13655  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13656  					}
 13657  					b := dAtA[iNdEx]
 13658  					iNdEx++
 13659  					msglen |= int(b&0x7F) << shift
 13660  					if b < 0x80 {
 13661  						break
 13662  					}
 13663  				}
 13664  				if msglen < 0 {
 13665  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13666  				}
 13667  				postIndex := iNdEx + msglen
 13668  				if postIndex < 0 {
 13669  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13670  				}
 13671  				if postIndex > l {
 13672  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13673  				}
 13674  				if x.Inner2 == nil {
 13675  					x.Inner2 = &TestVersion3LoneNesting_Inner2{}
 13676  				}
 13677  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner2); err != nil {
 13678  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13679  				}
 13680  				iNdEx = postIndex
 13681  			default:
 13682  				iNdEx = preIndex
 13683  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 13684  				if err != nil {
 13685  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 13686  				}
 13687  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 13688  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 13689  				}
 13690  				if (iNdEx + skippy) > l {
 13691  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13692  				}
 13693  				if !options.DiscardUnknown {
 13694  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 13695  				}
 13696  				iNdEx += skippy
 13697  			}
 13698  		}
 13699  
 13700  		if iNdEx > l {
 13701  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 13702  		}
 13703  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 13704  	}
 13705  	return &protoiface.Methods{
 13706  		NoUnkeyedLiterals: struct{}{},
 13707  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 13708  		Size:              size,
 13709  		Marshal:           marshal,
 13710  		Unmarshal:         unmarshal,
 13711  		Merge:             nil,
 13712  		CheckInitialized:  nil,
 13713  	}
 13714  }
 13715  
 13716  var (
 13717  	md_TestVersion3LoneNesting_Inner1       protoreflect.MessageDescriptor
 13718  	fd_TestVersion3LoneNesting_Inner1_id    protoreflect.FieldDescriptor
 13719  	fd_TestVersion3LoneNesting_Inner1_name  protoreflect.FieldDescriptor
 13720  	fd_TestVersion3LoneNesting_Inner1_inner protoreflect.FieldDescriptor
 13721  )
 13722  
 13723  func init() {
 13724  	file_testpb_unknonwnproto_proto_init()
 13725  	md_TestVersion3LoneNesting_Inner1 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneNesting").Messages().ByName("Inner1")
 13726  	fd_TestVersion3LoneNesting_Inner1_id = md_TestVersion3LoneNesting_Inner1.Fields().ByName("id")
 13727  	fd_TestVersion3LoneNesting_Inner1_name = md_TestVersion3LoneNesting_Inner1.Fields().ByName("name")
 13728  	fd_TestVersion3LoneNesting_Inner1_inner = md_TestVersion3LoneNesting_Inner1.Fields().ByName("inner")
 13729  }
 13730  
 13731  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneNesting_Inner1)(nil)
 13732  
 13733  type fastReflection_TestVersion3LoneNesting_Inner1 TestVersion3LoneNesting_Inner1
 13734  
 13735  func (x *TestVersion3LoneNesting_Inner1) ProtoReflect() protoreflect.Message {
 13736  	return (*fastReflection_TestVersion3LoneNesting_Inner1)(x)
 13737  }
 13738  
 13739  func (x *TestVersion3LoneNesting_Inner1) slowProtoReflect() protoreflect.Message {
 13740  	mi := &file_testpb_unknonwnproto_proto_msgTypes[25]
 13741  	if protoimpl.UnsafeEnabled && x != nil {
 13742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 13743  		if ms.LoadMessageInfo() == nil {
 13744  			ms.StoreMessageInfo(mi)
 13745  		}
 13746  		return ms
 13747  	}
 13748  	return mi.MessageOf(x)
 13749  }
 13750  
 13751  var _fastReflection_TestVersion3LoneNesting_Inner1_messageType fastReflection_TestVersion3LoneNesting_Inner1_messageType
 13752  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneNesting_Inner1_messageType{}
 13753  
 13754  type fastReflection_TestVersion3LoneNesting_Inner1_messageType struct{}
 13755  
 13756  func (x fastReflection_TestVersion3LoneNesting_Inner1_messageType) Zero() protoreflect.Message {
 13757  	return (*fastReflection_TestVersion3LoneNesting_Inner1)(nil)
 13758  }
 13759  func (x fastReflection_TestVersion3LoneNesting_Inner1_messageType) New() protoreflect.Message {
 13760  	return new(fastReflection_TestVersion3LoneNesting_Inner1)
 13761  }
 13762  func (x fastReflection_TestVersion3LoneNesting_Inner1_messageType) Descriptor() protoreflect.MessageDescriptor {
 13763  	return md_TestVersion3LoneNesting_Inner1
 13764  }
 13765  
 13766  // Descriptor returns message descriptor, which contains only the protobuf
 13767  // type information for the message.
 13768  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Descriptor() protoreflect.MessageDescriptor {
 13769  	return md_TestVersion3LoneNesting_Inner1
 13770  }
 13771  
 13772  // Type returns the message type, which encapsulates both Go and protobuf
 13773  // type information. If the Go type information is not needed,
 13774  // it is recommended that the message descriptor be used instead.
 13775  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Type() protoreflect.MessageType {
 13776  	return _fastReflection_TestVersion3LoneNesting_Inner1_messageType
 13777  }
 13778  
 13779  // New returns a newly allocated and mutable empty message.
 13780  func (x *fastReflection_TestVersion3LoneNesting_Inner1) New() protoreflect.Message {
 13781  	return new(fastReflection_TestVersion3LoneNesting_Inner1)
 13782  }
 13783  
 13784  // Interface unwraps the message reflection interface and
 13785  // returns the underlying ProtoMessage interface.
 13786  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Interface() protoreflect.ProtoMessage {
 13787  	return (*TestVersion3LoneNesting_Inner1)(x)
 13788  }
 13789  
 13790  // Range iterates over every populated field in an undefined order,
 13791  // calling f for each field descriptor and value encountered.
 13792  // Range returns immediately if f returns false.
 13793  // While iterating, mutating operations may only be performed
 13794  // on the current field descriptor.
 13795  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 13796  	if x.Id != int64(0) {
 13797  		value := protoreflect.ValueOfInt64(x.Id)
 13798  		if !f(fd_TestVersion3LoneNesting_Inner1_id, value) {
 13799  			return
 13800  		}
 13801  	}
 13802  	if x.Name != "" {
 13803  		value := protoreflect.ValueOfString(x.Name)
 13804  		if !f(fd_TestVersion3LoneNesting_Inner1_name, value) {
 13805  			return
 13806  		}
 13807  	}
 13808  	if x.Inner != nil {
 13809  		value := protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 13810  		if !f(fd_TestVersion3LoneNesting_Inner1_inner, value) {
 13811  			return
 13812  		}
 13813  	}
 13814  }
 13815  
 13816  // Has reports whether a field is populated.
 13817  //
 13818  // Some fields have the property of nullability where it is possible to
 13819  // distinguish between the default value of a field and whether the field
 13820  // was explicitly populated with the default value. Singular message fields,
 13821  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 13822  // fields are populated only if explicitly set.
 13823  //
 13824  // In other cases (aside from the nullable cases above),
 13825  // a proto3 scalar field is populated if it contains a non-zero value, and
 13826  // a repeated field is populated if it is non-empty.
 13827  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Has(fd protoreflect.FieldDescriptor) bool {
 13828  	switch fd.FullName() {
 13829  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13830  		return x.Id != int64(0)
 13831  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13832  		return x.Name != ""
 13833  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13834  		return x.Inner != nil
 13835  	default:
 13836  		if fd.IsExtension() {
 13837  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13838  		}
 13839  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 13840  	}
 13841  }
 13842  
 13843  // Clear clears the field such that a subsequent Has call reports false.
 13844  //
 13845  // Clearing an extension field clears both the extension type and value
 13846  // associated with the given field number.
 13847  //
 13848  // Clear is a mutating operation and unsafe for concurrent use.
 13849  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Clear(fd protoreflect.FieldDescriptor) {
 13850  	switch fd.FullName() {
 13851  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13852  		x.Id = int64(0)
 13853  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13854  		x.Name = ""
 13855  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13856  		x.Inner = nil
 13857  	default:
 13858  		if fd.IsExtension() {
 13859  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13860  		}
 13861  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 13862  	}
 13863  }
 13864  
 13865  // Get retrieves the value for a field.
 13866  //
 13867  // For unpopulated scalars, it returns the default value, where
 13868  // the default value of a bytes scalar is guaranteed to be a copy.
 13869  // For unpopulated composite types, it returns an empty, read-only view
 13870  // of the value; to obtain a mutable reference, use Mutable.
 13871  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 13872  	switch descriptor.FullName() {
 13873  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13874  		value := x.Id
 13875  		return protoreflect.ValueOfInt64(value)
 13876  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13877  		value := x.Name
 13878  		return protoreflect.ValueOfString(value)
 13879  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13880  		value := x.Inner
 13881  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 13882  	default:
 13883  		if descriptor.IsExtension() {
 13884  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13885  		}
 13886  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", descriptor.FullName()))
 13887  	}
 13888  }
 13889  
 13890  // Set stores the value for a field.
 13891  //
 13892  // For a field belonging to a oneof, it implicitly clears any other field
 13893  // that may be currently set within the same oneof.
 13894  // For extension fields, it implicitly stores the provided ExtensionType.
 13895  // When setting a composite type, it is unspecified whether the stored value
 13896  // aliases the source's memory in any way. If the composite value is an
 13897  // empty, read-only value, then it panics.
 13898  //
 13899  // Set is a mutating operation and unsafe for concurrent use.
 13900  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 13901  	switch fd.FullName() {
 13902  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13903  		x.Id = value.Int()
 13904  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13905  		x.Name = value.Interface().(string)
 13906  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13907  		x.Inner = value.Message().Interface().(*TestVersion3LoneNesting_Inner1_InnerInner)
 13908  	default:
 13909  		if fd.IsExtension() {
 13910  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13911  		}
 13912  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 13913  	}
 13914  }
 13915  
 13916  // Mutable returns a mutable reference to a composite type.
 13917  //
 13918  // If the field is unpopulated, it may allocate a composite value.
 13919  // For a field belonging to a oneof, it implicitly clears any other field
 13920  // that may be currently set within the same oneof.
 13921  // For extension fields, it implicitly stores the provided ExtensionType
 13922  // if not already stored.
 13923  // It panics if the field does not contain a composite type.
 13924  //
 13925  // Mutable is a mutating operation and unsafe for concurrent use.
 13926  func (x *fastReflection_TestVersion3LoneNesting_Inner1) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 13927  	switch fd.FullName() {
 13928  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13929  		if x.Inner == nil {
 13930  			x.Inner = new(TestVersion3LoneNesting_Inner1_InnerInner)
 13931  		}
 13932  		return protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 13933  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13934  		panic(fmt.Errorf("field id of message testpb.TestVersion3LoneNesting.Inner1 is not mutable"))
 13935  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13936  		panic(fmt.Errorf("field name of message testpb.TestVersion3LoneNesting.Inner1 is not mutable"))
 13937  	default:
 13938  		if fd.IsExtension() {
 13939  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13940  		}
 13941  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 13942  	}
 13943  }
 13944  
 13945  // NewField returns a new value that is assignable to the field
 13946  // for the given descriptor. For scalars, this returns the default value.
 13947  // For lists, maps, and messages, this returns a new, empty, mutable value.
 13948  func (x *fastReflection_TestVersion3LoneNesting_Inner1) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 13949  	switch fd.FullName() {
 13950  	case "testpb.TestVersion3LoneNesting.Inner1.id":
 13951  		return protoreflect.ValueOfInt64(int64(0))
 13952  	case "testpb.TestVersion3LoneNesting.Inner1.name":
 13953  		return protoreflect.ValueOfString("")
 13954  	case "testpb.TestVersion3LoneNesting.Inner1.inner":
 13955  		m := new(TestVersion3LoneNesting_Inner1_InnerInner)
 13956  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 13957  	default:
 13958  		if fd.IsExtension() {
 13959  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1"))
 13960  		}
 13961  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 13962  	}
 13963  }
 13964  
 13965  // WhichOneof reports which field within the oneof is populated,
 13966  // returning nil if none are populated.
 13967  // It panics if the oneof descriptor does not belong to this message.
 13968  func (x *fastReflection_TestVersion3LoneNesting_Inner1) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 13969  	switch d.FullName() {
 13970  	default:
 13971  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneNesting.Inner1", d.FullName()))
 13972  	}
 13973  	panic("unreachable")
 13974  }
 13975  
 13976  // GetUnknown retrieves the entire list of unknown fields.
 13977  // The caller may only mutate the contents of the RawFields
 13978  // if the mutated bytes are stored back into the message with SetUnknown.
 13979  func (x *fastReflection_TestVersion3LoneNesting_Inner1) GetUnknown() protoreflect.RawFields {
 13980  	return x.unknownFields
 13981  }
 13982  
 13983  // SetUnknown stores an entire list of unknown fields.
 13984  // The raw fields must be syntactically valid according to the wire format.
 13985  // An implementation may panic if this is not the case.
 13986  // Once stored, the caller must not mutate the content of the RawFields.
 13987  // An empty RawFields may be passed to clear the fields.
 13988  //
 13989  // SetUnknown is a mutating operation and unsafe for concurrent use.
 13990  func (x *fastReflection_TestVersion3LoneNesting_Inner1) SetUnknown(fields protoreflect.RawFields) {
 13991  	x.unknownFields = fields
 13992  }
 13993  
 13994  // IsValid reports whether the message is valid.
 13995  //
 13996  // An invalid message is an empty, read-only value.
 13997  //
 13998  // An invalid message often corresponds to a nil pointer of the concrete
 13999  // message type, but the details are implementation dependent.
 14000  // Validity is not part of the protobuf data model, and may not
 14001  // be preserved in marshaling or other operations.
 14002  func (x *fastReflection_TestVersion3LoneNesting_Inner1) IsValid() bool {
 14003  	return x != nil
 14004  }
 14005  
 14006  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 14007  // This method may return nil.
 14008  //
 14009  // The returned methods type is identical to
 14010  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 14011  // Consult the protoiface package documentation for details.
 14012  func (x *fastReflection_TestVersion3LoneNesting_Inner1) ProtoMethods() *protoiface.Methods {
 14013  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 14014  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1)
 14015  		if x == nil {
 14016  			return protoiface.SizeOutput{
 14017  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14018  				Size:              0,
 14019  			}
 14020  		}
 14021  		options := runtime.SizeInputToOptions(input)
 14022  		_ = options
 14023  		var n int
 14024  		var l int
 14025  		_ = l
 14026  		if x.Id != 0 {
 14027  			n += 1 + runtime.Sov(uint64(x.Id))
 14028  		}
 14029  		l = len(x.Name)
 14030  		if l > 0 {
 14031  			n += 1 + l + runtime.Sov(uint64(l))
 14032  		}
 14033  		if x.Inner != nil {
 14034  			l = options.Size(x.Inner)
 14035  			n += 1 + l + runtime.Sov(uint64(l))
 14036  		}
 14037  		if x.unknownFields != nil {
 14038  			n += len(x.unknownFields)
 14039  		}
 14040  		return protoiface.SizeOutput{
 14041  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14042  			Size:              n,
 14043  		}
 14044  	}
 14045  
 14046  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 14047  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1)
 14048  		if x == nil {
 14049  			return protoiface.MarshalOutput{
 14050  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14051  				Buf:               input.Buf,
 14052  			}, nil
 14053  		}
 14054  		options := runtime.MarshalInputToOptions(input)
 14055  		_ = options
 14056  		size := options.Size(x)
 14057  		dAtA := make([]byte, size)
 14058  		i := len(dAtA)
 14059  		_ = i
 14060  		var l int
 14061  		_ = l
 14062  		if x.unknownFields != nil {
 14063  			i -= len(x.unknownFields)
 14064  			copy(dAtA[i:], x.unknownFields)
 14065  		}
 14066  		if x.Inner != nil {
 14067  			encoded, err := options.Marshal(x.Inner)
 14068  			if err != nil {
 14069  				return protoiface.MarshalOutput{
 14070  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14071  					Buf:               input.Buf,
 14072  				}, err
 14073  			}
 14074  			i -= len(encoded)
 14075  			copy(dAtA[i:], encoded)
 14076  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 14077  			i--
 14078  			dAtA[i] = 0x1a
 14079  		}
 14080  		if len(x.Name) > 0 {
 14081  			i -= len(x.Name)
 14082  			copy(dAtA[i:], x.Name)
 14083  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
 14084  			i--
 14085  			dAtA[i] = 0x12
 14086  		}
 14087  		if x.Id != 0 {
 14088  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
 14089  			i--
 14090  			dAtA[i] = 0x8
 14091  		}
 14092  		if input.Buf != nil {
 14093  			input.Buf = append(input.Buf, dAtA...)
 14094  		} else {
 14095  			input.Buf = dAtA
 14096  		}
 14097  		return protoiface.MarshalOutput{
 14098  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14099  			Buf:               input.Buf,
 14100  		}, nil
 14101  	}
 14102  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 14103  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1)
 14104  		if x == nil {
 14105  			return protoiface.UnmarshalOutput{
 14106  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14107  				Flags:             input.Flags,
 14108  			}, nil
 14109  		}
 14110  		options := runtime.UnmarshalInputToOptions(input)
 14111  		_ = options
 14112  		dAtA := input.Buf
 14113  		l := len(dAtA)
 14114  		iNdEx := 0
 14115  		for iNdEx < l {
 14116  			preIndex := iNdEx
 14117  			var wire uint64
 14118  			for shift := uint(0); ; shift += 7 {
 14119  				if shift >= 64 {
 14120  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14121  				}
 14122  				if iNdEx >= l {
 14123  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14124  				}
 14125  				b := dAtA[iNdEx]
 14126  				iNdEx++
 14127  				wire |= uint64(b&0x7F) << shift
 14128  				if b < 0x80 {
 14129  					break
 14130  				}
 14131  			}
 14132  			fieldNum := int32(wire >> 3)
 14133  			wireType := int(wire & 0x7)
 14134  			if wireType == 4 {
 14135  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner1: wiretype end group for non-group")
 14136  			}
 14137  			if fieldNum <= 0 {
 14138  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner1: illegal tag %d (wire type %d)", fieldNum, wire)
 14139  			}
 14140  			switch fieldNum {
 14141  			case 1:
 14142  				if wireType != 0 {
 14143  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 14144  				}
 14145  				x.Id = 0
 14146  				for shift := uint(0); ; shift += 7 {
 14147  					if shift >= 64 {
 14148  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14149  					}
 14150  					if iNdEx >= l {
 14151  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14152  					}
 14153  					b := dAtA[iNdEx]
 14154  					iNdEx++
 14155  					x.Id |= int64(b&0x7F) << shift
 14156  					if b < 0x80 {
 14157  						break
 14158  					}
 14159  				}
 14160  			case 2:
 14161  				if wireType != 2 {
 14162  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
 14163  				}
 14164  				var stringLen uint64
 14165  				for shift := uint(0); ; shift += 7 {
 14166  					if shift >= 64 {
 14167  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14168  					}
 14169  					if iNdEx >= l {
 14170  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14171  					}
 14172  					b := dAtA[iNdEx]
 14173  					iNdEx++
 14174  					stringLen |= uint64(b&0x7F) << shift
 14175  					if b < 0x80 {
 14176  						break
 14177  					}
 14178  				}
 14179  				intStringLen := int(stringLen)
 14180  				if intStringLen < 0 {
 14181  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14182  				}
 14183  				postIndex := iNdEx + intStringLen
 14184  				if postIndex < 0 {
 14185  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14186  				}
 14187  				if postIndex > l {
 14188  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14189  				}
 14190  				x.Name = string(dAtA[iNdEx:postIndex])
 14191  				iNdEx = postIndex
 14192  			case 3:
 14193  				if wireType != 2 {
 14194  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 14195  				}
 14196  				var msglen int
 14197  				for shift := uint(0); ; shift += 7 {
 14198  					if shift >= 64 {
 14199  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14200  					}
 14201  					if iNdEx >= l {
 14202  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14203  					}
 14204  					b := dAtA[iNdEx]
 14205  					iNdEx++
 14206  					msglen |= int(b&0x7F) << shift
 14207  					if b < 0x80 {
 14208  						break
 14209  					}
 14210  				}
 14211  				if msglen < 0 {
 14212  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14213  				}
 14214  				postIndex := iNdEx + msglen
 14215  				if postIndex < 0 {
 14216  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14217  				}
 14218  				if postIndex > l {
 14219  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14220  				}
 14221  				if x.Inner == nil {
 14222  					x.Inner = &TestVersion3LoneNesting_Inner1_InnerInner{}
 14223  				}
 14224  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner); err != nil {
 14225  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 14226  				}
 14227  				iNdEx = postIndex
 14228  			default:
 14229  				iNdEx = preIndex
 14230  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 14231  				if err != nil {
 14232  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 14233  				}
 14234  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 14235  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14236  				}
 14237  				if (iNdEx + skippy) > l {
 14238  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14239  				}
 14240  				if !options.DiscardUnknown {
 14241  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 14242  				}
 14243  				iNdEx += skippy
 14244  			}
 14245  		}
 14246  
 14247  		if iNdEx > l {
 14248  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14249  		}
 14250  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 14251  	}
 14252  	return &protoiface.Methods{
 14253  		NoUnkeyedLiterals: struct{}{},
 14254  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 14255  		Size:              size,
 14256  		Marshal:           marshal,
 14257  		Unmarshal:         unmarshal,
 14258  		Merge:             nil,
 14259  		CheckInitialized:  nil,
 14260  	}
 14261  }
 14262  
 14263  var (
 14264  	md_TestVersion3LoneNesting_Inner1_InnerInner      protoreflect.MessageDescriptor
 14265  	fd_TestVersion3LoneNesting_Inner1_InnerInner_id   protoreflect.FieldDescriptor
 14266  	fd_TestVersion3LoneNesting_Inner1_InnerInner_city protoreflect.FieldDescriptor
 14267  )
 14268  
 14269  func init() {
 14270  	file_testpb_unknonwnproto_proto_init()
 14271  	md_TestVersion3LoneNesting_Inner1_InnerInner = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneNesting").Messages().ByName("Inner1").Messages().ByName("InnerInner")
 14272  	fd_TestVersion3LoneNesting_Inner1_InnerInner_id = md_TestVersion3LoneNesting_Inner1_InnerInner.Fields().ByName("id")
 14273  	fd_TestVersion3LoneNesting_Inner1_InnerInner_city = md_TestVersion3LoneNesting_Inner1_InnerInner.Fields().ByName("city")
 14274  }
 14275  
 14276  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneNesting_Inner1_InnerInner)(nil)
 14277  
 14278  type fastReflection_TestVersion3LoneNesting_Inner1_InnerInner TestVersion3LoneNesting_Inner1_InnerInner
 14279  
 14280  func (x *TestVersion3LoneNesting_Inner1_InnerInner) ProtoReflect() protoreflect.Message {
 14281  	return (*fastReflection_TestVersion3LoneNesting_Inner1_InnerInner)(x)
 14282  }
 14283  
 14284  func (x *TestVersion3LoneNesting_Inner1_InnerInner) slowProtoReflect() protoreflect.Message {
 14285  	mi := &file_testpb_unknonwnproto_proto_msgTypes[27]
 14286  	if protoimpl.UnsafeEnabled && x != nil {
 14287  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 14288  		if ms.LoadMessageInfo() == nil {
 14289  			ms.StoreMessageInfo(mi)
 14290  		}
 14291  		return ms
 14292  	}
 14293  	return mi.MessageOf(x)
 14294  }
 14295  
 14296  var _fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType
 14297  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType{}
 14298  
 14299  type fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType struct{}
 14300  
 14301  func (x fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType) Zero() protoreflect.Message {
 14302  	return (*fastReflection_TestVersion3LoneNesting_Inner1_InnerInner)(nil)
 14303  }
 14304  func (x fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType) New() protoreflect.Message {
 14305  	return new(fastReflection_TestVersion3LoneNesting_Inner1_InnerInner)
 14306  }
 14307  func (x fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType) Descriptor() protoreflect.MessageDescriptor {
 14308  	return md_TestVersion3LoneNesting_Inner1_InnerInner
 14309  }
 14310  
 14311  // Descriptor returns message descriptor, which contains only the protobuf
 14312  // type information for the message.
 14313  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Descriptor() protoreflect.MessageDescriptor {
 14314  	return md_TestVersion3LoneNesting_Inner1_InnerInner
 14315  }
 14316  
 14317  // Type returns the message type, which encapsulates both Go and protobuf
 14318  // type information. If the Go type information is not needed,
 14319  // it is recommended that the message descriptor be used instead.
 14320  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Type() protoreflect.MessageType {
 14321  	return _fastReflection_TestVersion3LoneNesting_Inner1_InnerInner_messageType
 14322  }
 14323  
 14324  // New returns a newly allocated and mutable empty message.
 14325  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) New() protoreflect.Message {
 14326  	return new(fastReflection_TestVersion3LoneNesting_Inner1_InnerInner)
 14327  }
 14328  
 14329  // Interface unwraps the message reflection interface and
 14330  // returns the underlying ProtoMessage interface.
 14331  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Interface() protoreflect.ProtoMessage {
 14332  	return (*TestVersion3LoneNesting_Inner1_InnerInner)(x)
 14333  }
 14334  
 14335  // Range iterates over every populated field in an undefined order,
 14336  // calling f for each field descriptor and value encountered.
 14337  // Range returns immediately if f returns false.
 14338  // While iterating, mutating operations may only be performed
 14339  // on the current field descriptor.
 14340  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 14341  	if x.Id != "" {
 14342  		value := protoreflect.ValueOfString(x.Id)
 14343  		if !f(fd_TestVersion3LoneNesting_Inner1_InnerInner_id, value) {
 14344  			return
 14345  		}
 14346  	}
 14347  	if x.City != "" {
 14348  		value := protoreflect.ValueOfString(x.City)
 14349  		if !f(fd_TestVersion3LoneNesting_Inner1_InnerInner_city, value) {
 14350  			return
 14351  		}
 14352  	}
 14353  }
 14354  
 14355  // Has reports whether a field is populated.
 14356  //
 14357  // Some fields have the property of nullability where it is possible to
 14358  // distinguish between the default value of a field and whether the field
 14359  // was explicitly populated with the default value. Singular message fields,
 14360  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 14361  // fields are populated only if explicitly set.
 14362  //
 14363  // In other cases (aside from the nullable cases above),
 14364  // a proto3 scalar field is populated if it contains a non-zero value, and
 14365  // a repeated field is populated if it is non-empty.
 14366  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Has(fd protoreflect.FieldDescriptor) bool {
 14367  	switch fd.FullName() {
 14368  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14369  		return x.Id != ""
 14370  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14371  		return x.City != ""
 14372  	default:
 14373  		if fd.IsExtension() {
 14374  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14375  		}
 14376  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 14377  	}
 14378  }
 14379  
 14380  // Clear clears the field such that a subsequent Has call reports false.
 14381  //
 14382  // Clearing an extension field clears both the extension type and value
 14383  // associated with the given field number.
 14384  //
 14385  // Clear is a mutating operation and unsafe for concurrent use.
 14386  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Clear(fd protoreflect.FieldDescriptor) {
 14387  	switch fd.FullName() {
 14388  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14389  		x.Id = ""
 14390  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14391  		x.City = ""
 14392  	default:
 14393  		if fd.IsExtension() {
 14394  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14395  		}
 14396  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 14397  	}
 14398  }
 14399  
 14400  // Get retrieves the value for a field.
 14401  //
 14402  // For unpopulated scalars, it returns the default value, where
 14403  // the default value of a bytes scalar is guaranteed to be a copy.
 14404  // For unpopulated composite types, it returns an empty, read-only view
 14405  // of the value; to obtain a mutable reference, use Mutable.
 14406  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 14407  	switch descriptor.FullName() {
 14408  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14409  		value := x.Id
 14410  		return protoreflect.ValueOfString(value)
 14411  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14412  		value := x.City
 14413  		return protoreflect.ValueOfString(value)
 14414  	default:
 14415  		if descriptor.IsExtension() {
 14416  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14417  		}
 14418  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", descriptor.FullName()))
 14419  	}
 14420  }
 14421  
 14422  // Set stores the value for a field.
 14423  //
 14424  // For a field belonging to a oneof, it implicitly clears any other field
 14425  // that may be currently set within the same oneof.
 14426  // For extension fields, it implicitly stores the provided ExtensionType.
 14427  // When setting a composite type, it is unspecified whether the stored value
 14428  // aliases the source's memory in any way. If the composite value is an
 14429  // empty, read-only value, then it panics.
 14430  //
 14431  // Set is a mutating operation and unsafe for concurrent use.
 14432  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 14433  	switch fd.FullName() {
 14434  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14435  		x.Id = value.Interface().(string)
 14436  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14437  		x.City = value.Interface().(string)
 14438  	default:
 14439  		if fd.IsExtension() {
 14440  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14441  		}
 14442  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 14443  	}
 14444  }
 14445  
 14446  // Mutable returns a mutable reference to a composite type.
 14447  //
 14448  // If the field is unpopulated, it may allocate a composite value.
 14449  // For a field belonging to a oneof, it implicitly clears any other field
 14450  // that may be currently set within the same oneof.
 14451  // For extension fields, it implicitly stores the provided ExtensionType
 14452  // if not already stored.
 14453  // It panics if the field does not contain a composite type.
 14454  //
 14455  // Mutable is a mutating operation and unsafe for concurrent use.
 14456  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 14457  	switch fd.FullName() {
 14458  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14459  		panic(fmt.Errorf("field id of message testpb.TestVersion3LoneNesting.Inner1.InnerInner is not mutable"))
 14460  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14461  		panic(fmt.Errorf("field city of message testpb.TestVersion3LoneNesting.Inner1.InnerInner is not mutable"))
 14462  	default:
 14463  		if fd.IsExtension() {
 14464  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14465  		}
 14466  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 14467  	}
 14468  }
 14469  
 14470  // NewField returns a new value that is assignable to the field
 14471  // for the given descriptor. For scalars, this returns the default value.
 14472  // For lists, maps, and messages, this returns a new, empty, mutable value.
 14473  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 14474  	switch fd.FullName() {
 14475  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.id":
 14476  		return protoreflect.ValueOfString("")
 14477  	case "testpb.TestVersion3LoneNesting.Inner1.InnerInner.city":
 14478  		return protoreflect.ValueOfString("")
 14479  	default:
 14480  		if fd.IsExtension() {
 14481  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner1.InnerInner"))
 14482  		}
 14483  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 14484  	}
 14485  }
 14486  
 14487  // WhichOneof reports which field within the oneof is populated,
 14488  // returning nil if none are populated.
 14489  // It panics if the oneof descriptor does not belong to this message.
 14490  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 14491  	switch d.FullName() {
 14492  	default:
 14493  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneNesting.Inner1.InnerInner", d.FullName()))
 14494  	}
 14495  	panic("unreachable")
 14496  }
 14497  
 14498  // GetUnknown retrieves the entire list of unknown fields.
 14499  // The caller may only mutate the contents of the RawFields
 14500  // if the mutated bytes are stored back into the message with SetUnknown.
 14501  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) GetUnknown() protoreflect.RawFields {
 14502  	return x.unknownFields
 14503  }
 14504  
 14505  // SetUnknown stores an entire list of unknown fields.
 14506  // The raw fields must be syntactically valid according to the wire format.
 14507  // An implementation may panic if this is not the case.
 14508  // Once stored, the caller must not mutate the content of the RawFields.
 14509  // An empty RawFields may be passed to clear the fields.
 14510  //
 14511  // SetUnknown is a mutating operation and unsafe for concurrent use.
 14512  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) SetUnknown(fields protoreflect.RawFields) {
 14513  	x.unknownFields = fields
 14514  }
 14515  
 14516  // IsValid reports whether the message is valid.
 14517  //
 14518  // An invalid message is an empty, read-only value.
 14519  //
 14520  // An invalid message often corresponds to a nil pointer of the concrete
 14521  // message type, but the details are implementation dependent.
 14522  // Validity is not part of the protobuf data model, and may not
 14523  // be preserved in marshaling or other operations.
 14524  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) IsValid() bool {
 14525  	return x != nil
 14526  }
 14527  
 14528  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 14529  // This method may return nil.
 14530  //
 14531  // The returned methods type is identical to
 14532  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 14533  // Consult the protoiface package documentation for details.
 14534  func (x *fastReflection_TestVersion3LoneNesting_Inner1_InnerInner) ProtoMethods() *protoiface.Methods {
 14535  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 14536  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1_InnerInner)
 14537  		if x == nil {
 14538  			return protoiface.SizeOutput{
 14539  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14540  				Size:              0,
 14541  			}
 14542  		}
 14543  		options := runtime.SizeInputToOptions(input)
 14544  		_ = options
 14545  		var n int
 14546  		var l int
 14547  		_ = l
 14548  		l = len(x.Id)
 14549  		if l > 0 {
 14550  			n += 1 + l + runtime.Sov(uint64(l))
 14551  		}
 14552  		l = len(x.City)
 14553  		if l > 0 {
 14554  			n += 1 + l + runtime.Sov(uint64(l))
 14555  		}
 14556  		if x.unknownFields != nil {
 14557  			n += len(x.unknownFields)
 14558  		}
 14559  		return protoiface.SizeOutput{
 14560  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14561  			Size:              n,
 14562  		}
 14563  	}
 14564  
 14565  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 14566  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1_InnerInner)
 14567  		if x == nil {
 14568  			return protoiface.MarshalOutput{
 14569  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14570  				Buf:               input.Buf,
 14571  			}, nil
 14572  		}
 14573  		options := runtime.MarshalInputToOptions(input)
 14574  		_ = options
 14575  		size := options.Size(x)
 14576  		dAtA := make([]byte, size)
 14577  		i := len(dAtA)
 14578  		_ = i
 14579  		var l int
 14580  		_ = l
 14581  		if x.unknownFields != nil {
 14582  			i -= len(x.unknownFields)
 14583  			copy(dAtA[i:], x.unknownFields)
 14584  		}
 14585  		if len(x.City) > 0 {
 14586  			i -= len(x.City)
 14587  			copy(dAtA[i:], x.City)
 14588  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.City)))
 14589  			i--
 14590  			dAtA[i] = 0x12
 14591  		}
 14592  		if len(x.Id) > 0 {
 14593  			i -= len(x.Id)
 14594  			copy(dAtA[i:], x.Id)
 14595  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id)))
 14596  			i--
 14597  			dAtA[i] = 0xa
 14598  		}
 14599  		if input.Buf != nil {
 14600  			input.Buf = append(input.Buf, dAtA...)
 14601  		} else {
 14602  			input.Buf = dAtA
 14603  		}
 14604  		return protoiface.MarshalOutput{
 14605  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14606  			Buf:               input.Buf,
 14607  		}, nil
 14608  	}
 14609  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 14610  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner1_InnerInner)
 14611  		if x == nil {
 14612  			return protoiface.UnmarshalOutput{
 14613  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 14614  				Flags:             input.Flags,
 14615  			}, nil
 14616  		}
 14617  		options := runtime.UnmarshalInputToOptions(input)
 14618  		_ = options
 14619  		dAtA := input.Buf
 14620  		l := len(dAtA)
 14621  		iNdEx := 0
 14622  		for iNdEx < l {
 14623  			preIndex := iNdEx
 14624  			var wire uint64
 14625  			for shift := uint(0); ; shift += 7 {
 14626  				if shift >= 64 {
 14627  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14628  				}
 14629  				if iNdEx >= l {
 14630  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14631  				}
 14632  				b := dAtA[iNdEx]
 14633  				iNdEx++
 14634  				wire |= uint64(b&0x7F) << shift
 14635  				if b < 0x80 {
 14636  					break
 14637  				}
 14638  			}
 14639  			fieldNum := int32(wire >> 3)
 14640  			wireType := int(wire & 0x7)
 14641  			if wireType == 4 {
 14642  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner1_InnerInner: wiretype end group for non-group")
 14643  			}
 14644  			if fieldNum <= 0 {
 14645  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner1_InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 14646  			}
 14647  			switch fieldNum {
 14648  			case 1:
 14649  				if wireType != 2 {
 14650  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 14651  				}
 14652  				var stringLen uint64
 14653  				for shift := uint(0); ; shift += 7 {
 14654  					if shift >= 64 {
 14655  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14656  					}
 14657  					if iNdEx >= l {
 14658  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14659  					}
 14660  					b := dAtA[iNdEx]
 14661  					iNdEx++
 14662  					stringLen |= uint64(b&0x7F) << shift
 14663  					if b < 0x80 {
 14664  						break
 14665  					}
 14666  				}
 14667  				intStringLen := int(stringLen)
 14668  				if intStringLen < 0 {
 14669  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14670  				}
 14671  				postIndex := iNdEx + intStringLen
 14672  				if postIndex < 0 {
 14673  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14674  				}
 14675  				if postIndex > l {
 14676  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14677  				}
 14678  				x.Id = string(dAtA[iNdEx:postIndex])
 14679  				iNdEx = postIndex
 14680  			case 2:
 14681  				if wireType != 2 {
 14682  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 14683  				}
 14684  				var stringLen uint64
 14685  				for shift := uint(0); ; shift += 7 {
 14686  					if shift >= 64 {
 14687  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 14688  					}
 14689  					if iNdEx >= l {
 14690  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14691  					}
 14692  					b := dAtA[iNdEx]
 14693  					iNdEx++
 14694  					stringLen |= uint64(b&0x7F) << shift
 14695  					if b < 0x80 {
 14696  						break
 14697  					}
 14698  				}
 14699  				intStringLen := int(stringLen)
 14700  				if intStringLen < 0 {
 14701  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14702  				}
 14703  				postIndex := iNdEx + intStringLen
 14704  				if postIndex < 0 {
 14705  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14706  				}
 14707  				if postIndex > l {
 14708  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14709  				}
 14710  				x.City = string(dAtA[iNdEx:postIndex])
 14711  				iNdEx = postIndex
 14712  			default:
 14713  				iNdEx = preIndex
 14714  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 14715  				if err != nil {
 14716  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 14717  				}
 14718  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 14719  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 14720  				}
 14721  				if (iNdEx + skippy) > l {
 14722  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14723  				}
 14724  				if !options.DiscardUnknown {
 14725  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 14726  				}
 14727  				iNdEx += skippy
 14728  			}
 14729  		}
 14730  
 14731  		if iNdEx > l {
 14732  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 14733  		}
 14734  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 14735  	}
 14736  	return &protoiface.Methods{
 14737  		NoUnkeyedLiterals: struct{}{},
 14738  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 14739  		Size:              size,
 14740  		Marshal:           marshal,
 14741  		Unmarshal:         unmarshal,
 14742  		Merge:             nil,
 14743  		CheckInitialized:  nil,
 14744  	}
 14745  }
 14746  
 14747  var (
 14748  	md_TestVersion3LoneNesting_Inner2         protoreflect.MessageDescriptor
 14749  	fd_TestVersion3LoneNesting_Inner2_id      protoreflect.FieldDescriptor
 14750  	fd_TestVersion3LoneNesting_Inner2_country protoreflect.FieldDescriptor
 14751  	fd_TestVersion3LoneNesting_Inner2_inner   protoreflect.FieldDescriptor
 14752  )
 14753  
 14754  func init() {
 14755  	file_testpb_unknonwnproto_proto_init()
 14756  	md_TestVersion3LoneNesting_Inner2 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneNesting").Messages().ByName("Inner2")
 14757  	fd_TestVersion3LoneNesting_Inner2_id = md_TestVersion3LoneNesting_Inner2.Fields().ByName("id")
 14758  	fd_TestVersion3LoneNesting_Inner2_country = md_TestVersion3LoneNesting_Inner2.Fields().ByName("country")
 14759  	fd_TestVersion3LoneNesting_Inner2_inner = md_TestVersion3LoneNesting_Inner2.Fields().ByName("inner")
 14760  }
 14761  
 14762  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneNesting_Inner2)(nil)
 14763  
 14764  type fastReflection_TestVersion3LoneNesting_Inner2 TestVersion3LoneNesting_Inner2
 14765  
 14766  func (x *TestVersion3LoneNesting_Inner2) ProtoReflect() protoreflect.Message {
 14767  	return (*fastReflection_TestVersion3LoneNesting_Inner2)(x)
 14768  }
 14769  
 14770  func (x *TestVersion3LoneNesting_Inner2) slowProtoReflect() protoreflect.Message {
 14771  	mi := &file_testpb_unknonwnproto_proto_msgTypes[26]
 14772  	if protoimpl.UnsafeEnabled && x != nil {
 14773  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 14774  		if ms.LoadMessageInfo() == nil {
 14775  			ms.StoreMessageInfo(mi)
 14776  		}
 14777  		return ms
 14778  	}
 14779  	return mi.MessageOf(x)
 14780  }
 14781  
 14782  var _fastReflection_TestVersion3LoneNesting_Inner2_messageType fastReflection_TestVersion3LoneNesting_Inner2_messageType
 14783  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneNesting_Inner2_messageType{}
 14784  
 14785  type fastReflection_TestVersion3LoneNesting_Inner2_messageType struct{}
 14786  
 14787  func (x fastReflection_TestVersion3LoneNesting_Inner2_messageType) Zero() protoreflect.Message {
 14788  	return (*fastReflection_TestVersion3LoneNesting_Inner2)(nil)
 14789  }
 14790  func (x fastReflection_TestVersion3LoneNesting_Inner2_messageType) New() protoreflect.Message {
 14791  	return new(fastReflection_TestVersion3LoneNesting_Inner2)
 14792  }
 14793  func (x fastReflection_TestVersion3LoneNesting_Inner2_messageType) Descriptor() protoreflect.MessageDescriptor {
 14794  	return md_TestVersion3LoneNesting_Inner2
 14795  }
 14796  
 14797  // Descriptor returns message descriptor, which contains only the protobuf
 14798  // type information for the message.
 14799  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Descriptor() protoreflect.MessageDescriptor {
 14800  	return md_TestVersion3LoneNesting_Inner2
 14801  }
 14802  
 14803  // Type returns the message type, which encapsulates both Go and protobuf
 14804  // type information. If the Go type information is not needed,
 14805  // it is recommended that the message descriptor be used instead.
 14806  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Type() protoreflect.MessageType {
 14807  	return _fastReflection_TestVersion3LoneNesting_Inner2_messageType
 14808  }
 14809  
 14810  // New returns a newly allocated and mutable empty message.
 14811  func (x *fastReflection_TestVersion3LoneNesting_Inner2) New() protoreflect.Message {
 14812  	return new(fastReflection_TestVersion3LoneNesting_Inner2)
 14813  }
 14814  
 14815  // Interface unwraps the message reflection interface and
 14816  // returns the underlying ProtoMessage interface.
 14817  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Interface() protoreflect.ProtoMessage {
 14818  	return (*TestVersion3LoneNesting_Inner2)(x)
 14819  }
 14820  
 14821  // Range iterates over every populated field in an undefined order,
 14822  // calling f for each field descriptor and value encountered.
 14823  // Range returns immediately if f returns false.
 14824  // While iterating, mutating operations may only be performed
 14825  // on the current field descriptor.
 14826  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 14827  	if x.Id != "" {
 14828  		value := protoreflect.ValueOfString(x.Id)
 14829  		if !f(fd_TestVersion3LoneNesting_Inner2_id, value) {
 14830  			return
 14831  		}
 14832  	}
 14833  	if x.Country != "" {
 14834  		value := protoreflect.ValueOfString(x.Country)
 14835  		if !f(fd_TestVersion3LoneNesting_Inner2_country, value) {
 14836  			return
 14837  		}
 14838  	}
 14839  	if x.Inner != nil {
 14840  		value := protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 14841  		if !f(fd_TestVersion3LoneNesting_Inner2_inner, value) {
 14842  			return
 14843  		}
 14844  	}
 14845  }
 14846  
 14847  // Has reports whether a field is populated.
 14848  //
 14849  // Some fields have the property of nullability where it is possible to
 14850  // distinguish between the default value of a field and whether the field
 14851  // was explicitly populated with the default value. Singular message fields,
 14852  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 14853  // fields are populated only if explicitly set.
 14854  //
 14855  // In other cases (aside from the nullable cases above),
 14856  // a proto3 scalar field is populated if it contains a non-zero value, and
 14857  // a repeated field is populated if it is non-empty.
 14858  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Has(fd protoreflect.FieldDescriptor) bool {
 14859  	switch fd.FullName() {
 14860  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14861  		return x.Id != ""
 14862  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14863  		return x.Country != ""
 14864  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14865  		return x.Inner != nil
 14866  	default:
 14867  		if fd.IsExtension() {
 14868  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14869  		}
 14870  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 14871  	}
 14872  }
 14873  
 14874  // Clear clears the field such that a subsequent Has call reports false.
 14875  //
 14876  // Clearing an extension field clears both the extension type and value
 14877  // associated with the given field number.
 14878  //
 14879  // Clear is a mutating operation and unsafe for concurrent use.
 14880  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Clear(fd protoreflect.FieldDescriptor) {
 14881  	switch fd.FullName() {
 14882  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14883  		x.Id = ""
 14884  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14885  		x.Country = ""
 14886  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14887  		x.Inner = nil
 14888  	default:
 14889  		if fd.IsExtension() {
 14890  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14891  		}
 14892  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 14893  	}
 14894  }
 14895  
 14896  // Get retrieves the value for a field.
 14897  //
 14898  // For unpopulated scalars, it returns the default value, where
 14899  // the default value of a bytes scalar is guaranteed to be a copy.
 14900  // For unpopulated composite types, it returns an empty, read-only view
 14901  // of the value; to obtain a mutable reference, use Mutable.
 14902  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 14903  	switch descriptor.FullName() {
 14904  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14905  		value := x.Id
 14906  		return protoreflect.ValueOfString(value)
 14907  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14908  		value := x.Country
 14909  		return protoreflect.ValueOfString(value)
 14910  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14911  		value := x.Inner
 14912  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 14913  	default:
 14914  		if descriptor.IsExtension() {
 14915  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14916  		}
 14917  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", descriptor.FullName()))
 14918  	}
 14919  }
 14920  
 14921  // Set stores the value for a field.
 14922  //
 14923  // For a field belonging to a oneof, it implicitly clears any other field
 14924  // that may be currently set within the same oneof.
 14925  // For extension fields, it implicitly stores the provided ExtensionType.
 14926  // When setting a composite type, it is unspecified whether the stored value
 14927  // aliases the source's memory in any way. If the composite value is an
 14928  // empty, read-only value, then it panics.
 14929  //
 14930  // Set is a mutating operation and unsafe for concurrent use.
 14931  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 14932  	switch fd.FullName() {
 14933  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14934  		x.Id = value.Interface().(string)
 14935  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14936  		x.Country = value.Interface().(string)
 14937  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14938  		x.Inner = value.Message().Interface().(*TestVersion3LoneNesting_Inner2_InnerInner)
 14939  	default:
 14940  		if fd.IsExtension() {
 14941  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14942  		}
 14943  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 14944  	}
 14945  }
 14946  
 14947  // Mutable returns a mutable reference to a composite type.
 14948  //
 14949  // If the field is unpopulated, it may allocate a composite value.
 14950  // For a field belonging to a oneof, it implicitly clears any other field
 14951  // that may be currently set within the same oneof.
 14952  // For extension fields, it implicitly stores the provided ExtensionType
 14953  // if not already stored.
 14954  // It panics if the field does not contain a composite type.
 14955  //
 14956  // Mutable is a mutating operation and unsafe for concurrent use.
 14957  func (x *fastReflection_TestVersion3LoneNesting_Inner2) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 14958  	switch fd.FullName() {
 14959  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14960  		if x.Inner == nil {
 14961  			x.Inner = new(TestVersion3LoneNesting_Inner2_InnerInner)
 14962  		}
 14963  		return protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 14964  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14965  		panic(fmt.Errorf("field id of message testpb.TestVersion3LoneNesting.Inner2 is not mutable"))
 14966  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14967  		panic(fmt.Errorf("field country of message testpb.TestVersion3LoneNesting.Inner2 is not mutable"))
 14968  	default:
 14969  		if fd.IsExtension() {
 14970  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14971  		}
 14972  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 14973  	}
 14974  }
 14975  
 14976  // NewField returns a new value that is assignable to the field
 14977  // for the given descriptor. For scalars, this returns the default value.
 14978  // For lists, maps, and messages, this returns a new, empty, mutable value.
 14979  func (x *fastReflection_TestVersion3LoneNesting_Inner2) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 14980  	switch fd.FullName() {
 14981  	case "testpb.TestVersion3LoneNesting.Inner2.id":
 14982  		return protoreflect.ValueOfString("")
 14983  	case "testpb.TestVersion3LoneNesting.Inner2.country":
 14984  		return protoreflect.ValueOfString("")
 14985  	case "testpb.TestVersion3LoneNesting.Inner2.inner":
 14986  		m := new(TestVersion3LoneNesting_Inner2_InnerInner)
 14987  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 14988  	default:
 14989  		if fd.IsExtension() {
 14990  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2"))
 14991  		}
 14992  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 14993  	}
 14994  }
 14995  
 14996  // WhichOneof reports which field within the oneof is populated,
 14997  // returning nil if none are populated.
 14998  // It panics if the oneof descriptor does not belong to this message.
 14999  func (x *fastReflection_TestVersion3LoneNesting_Inner2) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 15000  	switch d.FullName() {
 15001  	default:
 15002  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneNesting.Inner2", d.FullName()))
 15003  	}
 15004  	panic("unreachable")
 15005  }
 15006  
 15007  // GetUnknown retrieves the entire list of unknown fields.
 15008  // The caller may only mutate the contents of the RawFields
 15009  // if the mutated bytes are stored back into the message with SetUnknown.
 15010  func (x *fastReflection_TestVersion3LoneNesting_Inner2) GetUnknown() protoreflect.RawFields {
 15011  	return x.unknownFields
 15012  }
 15013  
 15014  // SetUnknown stores an entire list of unknown fields.
 15015  // The raw fields must be syntactically valid according to the wire format.
 15016  // An implementation may panic if this is not the case.
 15017  // Once stored, the caller must not mutate the content of the RawFields.
 15018  // An empty RawFields may be passed to clear the fields.
 15019  //
 15020  // SetUnknown is a mutating operation and unsafe for concurrent use.
 15021  func (x *fastReflection_TestVersion3LoneNesting_Inner2) SetUnknown(fields protoreflect.RawFields) {
 15022  	x.unknownFields = fields
 15023  }
 15024  
 15025  // IsValid reports whether the message is valid.
 15026  //
 15027  // An invalid message is an empty, read-only value.
 15028  //
 15029  // An invalid message often corresponds to a nil pointer of the concrete
 15030  // message type, but the details are implementation dependent.
 15031  // Validity is not part of the protobuf data model, and may not
 15032  // be preserved in marshaling or other operations.
 15033  func (x *fastReflection_TestVersion3LoneNesting_Inner2) IsValid() bool {
 15034  	return x != nil
 15035  }
 15036  
 15037  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 15038  // This method may return nil.
 15039  //
 15040  // The returned methods type is identical to
 15041  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 15042  // Consult the protoiface package documentation for details.
 15043  func (x *fastReflection_TestVersion3LoneNesting_Inner2) ProtoMethods() *protoiface.Methods {
 15044  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 15045  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2)
 15046  		if x == nil {
 15047  			return protoiface.SizeOutput{
 15048  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15049  				Size:              0,
 15050  			}
 15051  		}
 15052  		options := runtime.SizeInputToOptions(input)
 15053  		_ = options
 15054  		var n int
 15055  		var l int
 15056  		_ = l
 15057  		l = len(x.Id)
 15058  		if l > 0 {
 15059  			n += 1 + l + runtime.Sov(uint64(l))
 15060  		}
 15061  		l = len(x.Country)
 15062  		if l > 0 {
 15063  			n += 1 + l + runtime.Sov(uint64(l))
 15064  		}
 15065  		if x.Inner != nil {
 15066  			l = options.Size(x.Inner)
 15067  			n += 1 + l + runtime.Sov(uint64(l))
 15068  		}
 15069  		if x.unknownFields != nil {
 15070  			n += len(x.unknownFields)
 15071  		}
 15072  		return protoiface.SizeOutput{
 15073  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15074  			Size:              n,
 15075  		}
 15076  	}
 15077  
 15078  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 15079  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2)
 15080  		if x == nil {
 15081  			return protoiface.MarshalOutput{
 15082  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15083  				Buf:               input.Buf,
 15084  			}, nil
 15085  		}
 15086  		options := runtime.MarshalInputToOptions(input)
 15087  		_ = options
 15088  		size := options.Size(x)
 15089  		dAtA := make([]byte, size)
 15090  		i := len(dAtA)
 15091  		_ = i
 15092  		var l int
 15093  		_ = l
 15094  		if x.unknownFields != nil {
 15095  			i -= len(x.unknownFields)
 15096  			copy(dAtA[i:], x.unknownFields)
 15097  		}
 15098  		if x.Inner != nil {
 15099  			encoded, err := options.Marshal(x.Inner)
 15100  			if err != nil {
 15101  				return protoiface.MarshalOutput{
 15102  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15103  					Buf:               input.Buf,
 15104  				}, err
 15105  			}
 15106  			i -= len(encoded)
 15107  			copy(dAtA[i:], encoded)
 15108  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 15109  			i--
 15110  			dAtA[i] = 0x1a
 15111  		}
 15112  		if len(x.Country) > 0 {
 15113  			i -= len(x.Country)
 15114  			copy(dAtA[i:], x.Country)
 15115  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Country)))
 15116  			i--
 15117  			dAtA[i] = 0x12
 15118  		}
 15119  		if len(x.Id) > 0 {
 15120  			i -= len(x.Id)
 15121  			copy(dAtA[i:], x.Id)
 15122  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id)))
 15123  			i--
 15124  			dAtA[i] = 0xa
 15125  		}
 15126  		if input.Buf != nil {
 15127  			input.Buf = append(input.Buf, dAtA...)
 15128  		} else {
 15129  			input.Buf = dAtA
 15130  		}
 15131  		return protoiface.MarshalOutput{
 15132  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15133  			Buf:               input.Buf,
 15134  		}, nil
 15135  	}
 15136  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 15137  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2)
 15138  		if x == nil {
 15139  			return protoiface.UnmarshalOutput{
 15140  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15141  				Flags:             input.Flags,
 15142  			}, nil
 15143  		}
 15144  		options := runtime.UnmarshalInputToOptions(input)
 15145  		_ = options
 15146  		dAtA := input.Buf
 15147  		l := len(dAtA)
 15148  		iNdEx := 0
 15149  		for iNdEx < l {
 15150  			preIndex := iNdEx
 15151  			var wire uint64
 15152  			for shift := uint(0); ; shift += 7 {
 15153  				if shift >= 64 {
 15154  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15155  				}
 15156  				if iNdEx >= l {
 15157  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15158  				}
 15159  				b := dAtA[iNdEx]
 15160  				iNdEx++
 15161  				wire |= uint64(b&0x7F) << shift
 15162  				if b < 0x80 {
 15163  					break
 15164  				}
 15165  			}
 15166  			fieldNum := int32(wire >> 3)
 15167  			wireType := int(wire & 0x7)
 15168  			if wireType == 4 {
 15169  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner2: wiretype end group for non-group")
 15170  			}
 15171  			if fieldNum <= 0 {
 15172  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner2: illegal tag %d (wire type %d)", fieldNum, wire)
 15173  			}
 15174  			switch fieldNum {
 15175  			case 1:
 15176  				if wireType != 2 {
 15177  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 15178  				}
 15179  				var stringLen uint64
 15180  				for shift := uint(0); ; shift += 7 {
 15181  					if shift >= 64 {
 15182  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15183  					}
 15184  					if iNdEx >= l {
 15185  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15186  					}
 15187  					b := dAtA[iNdEx]
 15188  					iNdEx++
 15189  					stringLen |= uint64(b&0x7F) << shift
 15190  					if b < 0x80 {
 15191  						break
 15192  					}
 15193  				}
 15194  				intStringLen := int(stringLen)
 15195  				if intStringLen < 0 {
 15196  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15197  				}
 15198  				postIndex := iNdEx + intStringLen
 15199  				if postIndex < 0 {
 15200  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15201  				}
 15202  				if postIndex > l {
 15203  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15204  				}
 15205  				x.Id = string(dAtA[iNdEx:postIndex])
 15206  				iNdEx = postIndex
 15207  			case 2:
 15208  				if wireType != 2 {
 15209  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Country", wireType)
 15210  				}
 15211  				var stringLen uint64
 15212  				for shift := uint(0); ; shift += 7 {
 15213  					if shift >= 64 {
 15214  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15215  					}
 15216  					if iNdEx >= l {
 15217  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15218  					}
 15219  					b := dAtA[iNdEx]
 15220  					iNdEx++
 15221  					stringLen |= uint64(b&0x7F) << shift
 15222  					if b < 0x80 {
 15223  						break
 15224  					}
 15225  				}
 15226  				intStringLen := int(stringLen)
 15227  				if intStringLen < 0 {
 15228  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15229  				}
 15230  				postIndex := iNdEx + intStringLen
 15231  				if postIndex < 0 {
 15232  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15233  				}
 15234  				if postIndex > l {
 15235  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15236  				}
 15237  				x.Country = string(dAtA[iNdEx:postIndex])
 15238  				iNdEx = postIndex
 15239  			case 3:
 15240  				if wireType != 2 {
 15241  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 15242  				}
 15243  				var msglen int
 15244  				for shift := uint(0); ; shift += 7 {
 15245  					if shift >= 64 {
 15246  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15247  					}
 15248  					if iNdEx >= l {
 15249  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15250  					}
 15251  					b := dAtA[iNdEx]
 15252  					iNdEx++
 15253  					msglen |= int(b&0x7F) << shift
 15254  					if b < 0x80 {
 15255  						break
 15256  					}
 15257  				}
 15258  				if msglen < 0 {
 15259  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15260  				}
 15261  				postIndex := iNdEx + msglen
 15262  				if postIndex < 0 {
 15263  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15264  				}
 15265  				if postIndex > l {
 15266  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15267  				}
 15268  				if x.Inner == nil {
 15269  					x.Inner = &TestVersion3LoneNesting_Inner2_InnerInner{}
 15270  				}
 15271  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner); err != nil {
 15272  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 15273  				}
 15274  				iNdEx = postIndex
 15275  			default:
 15276  				iNdEx = preIndex
 15277  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 15278  				if err != nil {
 15279  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 15280  				}
 15281  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 15282  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15283  				}
 15284  				if (iNdEx + skippy) > l {
 15285  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15286  				}
 15287  				if !options.DiscardUnknown {
 15288  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 15289  				}
 15290  				iNdEx += skippy
 15291  			}
 15292  		}
 15293  
 15294  		if iNdEx > l {
 15295  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15296  		}
 15297  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 15298  	}
 15299  	return &protoiface.Methods{
 15300  		NoUnkeyedLiterals: struct{}{},
 15301  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 15302  		Size:              size,
 15303  		Marshal:           marshal,
 15304  		Unmarshal:         unmarshal,
 15305  		Merge:             nil,
 15306  		CheckInitialized:  nil,
 15307  	}
 15308  }
 15309  
 15310  var (
 15311  	md_TestVersion3LoneNesting_Inner2_InnerInner      protoreflect.MessageDescriptor
 15312  	fd_TestVersion3LoneNesting_Inner2_InnerInner_id   protoreflect.FieldDescriptor
 15313  	fd_TestVersion3LoneNesting_Inner2_InnerInner_city protoreflect.FieldDescriptor
 15314  )
 15315  
 15316  func init() {
 15317  	file_testpb_unknonwnproto_proto_init()
 15318  	md_TestVersion3LoneNesting_Inner2_InnerInner = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion3LoneNesting").Messages().ByName("Inner2").Messages().ByName("InnerInner")
 15319  	fd_TestVersion3LoneNesting_Inner2_InnerInner_id = md_TestVersion3LoneNesting_Inner2_InnerInner.Fields().ByName("id")
 15320  	fd_TestVersion3LoneNesting_Inner2_InnerInner_city = md_TestVersion3LoneNesting_Inner2_InnerInner.Fields().ByName("city")
 15321  }
 15322  
 15323  var _ protoreflect.Message = (*fastReflection_TestVersion3LoneNesting_Inner2_InnerInner)(nil)
 15324  
 15325  type fastReflection_TestVersion3LoneNesting_Inner2_InnerInner TestVersion3LoneNesting_Inner2_InnerInner
 15326  
 15327  func (x *TestVersion3LoneNesting_Inner2_InnerInner) ProtoReflect() protoreflect.Message {
 15328  	return (*fastReflection_TestVersion3LoneNesting_Inner2_InnerInner)(x)
 15329  }
 15330  
 15331  func (x *TestVersion3LoneNesting_Inner2_InnerInner) slowProtoReflect() protoreflect.Message {
 15332  	mi := &file_testpb_unknonwnproto_proto_msgTypes[28]
 15333  	if protoimpl.UnsafeEnabled && x != nil {
 15334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 15335  		if ms.LoadMessageInfo() == nil {
 15336  			ms.StoreMessageInfo(mi)
 15337  		}
 15338  		return ms
 15339  	}
 15340  	return mi.MessageOf(x)
 15341  }
 15342  
 15343  var _fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType
 15344  var _ protoreflect.MessageType = fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType{}
 15345  
 15346  type fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType struct{}
 15347  
 15348  func (x fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType) Zero() protoreflect.Message {
 15349  	return (*fastReflection_TestVersion3LoneNesting_Inner2_InnerInner)(nil)
 15350  }
 15351  func (x fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType) New() protoreflect.Message {
 15352  	return new(fastReflection_TestVersion3LoneNesting_Inner2_InnerInner)
 15353  }
 15354  func (x fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType) Descriptor() protoreflect.MessageDescriptor {
 15355  	return md_TestVersion3LoneNesting_Inner2_InnerInner
 15356  }
 15357  
 15358  // Descriptor returns message descriptor, which contains only the protobuf
 15359  // type information for the message.
 15360  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Descriptor() protoreflect.MessageDescriptor {
 15361  	return md_TestVersion3LoneNesting_Inner2_InnerInner
 15362  }
 15363  
 15364  // Type returns the message type, which encapsulates both Go and protobuf
 15365  // type information. If the Go type information is not needed,
 15366  // it is recommended that the message descriptor be used instead.
 15367  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Type() protoreflect.MessageType {
 15368  	return _fastReflection_TestVersion3LoneNesting_Inner2_InnerInner_messageType
 15369  }
 15370  
 15371  // New returns a newly allocated and mutable empty message.
 15372  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) New() protoreflect.Message {
 15373  	return new(fastReflection_TestVersion3LoneNesting_Inner2_InnerInner)
 15374  }
 15375  
 15376  // Interface unwraps the message reflection interface and
 15377  // returns the underlying ProtoMessage interface.
 15378  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Interface() protoreflect.ProtoMessage {
 15379  	return (*TestVersion3LoneNesting_Inner2_InnerInner)(x)
 15380  }
 15381  
 15382  // Range iterates over every populated field in an undefined order,
 15383  // calling f for each field descriptor and value encountered.
 15384  // Range returns immediately if f returns false.
 15385  // While iterating, mutating operations may only be performed
 15386  // on the current field descriptor.
 15387  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 15388  	if x.Id != "" {
 15389  		value := protoreflect.ValueOfString(x.Id)
 15390  		if !f(fd_TestVersion3LoneNesting_Inner2_InnerInner_id, value) {
 15391  			return
 15392  		}
 15393  	}
 15394  	if x.City != "" {
 15395  		value := protoreflect.ValueOfString(x.City)
 15396  		if !f(fd_TestVersion3LoneNesting_Inner2_InnerInner_city, value) {
 15397  			return
 15398  		}
 15399  	}
 15400  }
 15401  
 15402  // Has reports whether a field is populated.
 15403  //
 15404  // Some fields have the property of nullability where it is possible to
 15405  // distinguish between the default value of a field and whether the field
 15406  // was explicitly populated with the default value. Singular message fields,
 15407  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 15408  // fields are populated only if explicitly set.
 15409  //
 15410  // In other cases (aside from the nullable cases above),
 15411  // a proto3 scalar field is populated if it contains a non-zero value, and
 15412  // a repeated field is populated if it is non-empty.
 15413  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Has(fd protoreflect.FieldDescriptor) bool {
 15414  	switch fd.FullName() {
 15415  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15416  		return x.Id != ""
 15417  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15418  		return x.City != ""
 15419  	default:
 15420  		if fd.IsExtension() {
 15421  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15422  		}
 15423  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 15424  	}
 15425  }
 15426  
 15427  // Clear clears the field such that a subsequent Has call reports false.
 15428  //
 15429  // Clearing an extension field clears both the extension type and value
 15430  // associated with the given field number.
 15431  //
 15432  // Clear is a mutating operation and unsafe for concurrent use.
 15433  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Clear(fd protoreflect.FieldDescriptor) {
 15434  	switch fd.FullName() {
 15435  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15436  		x.Id = ""
 15437  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15438  		x.City = ""
 15439  	default:
 15440  		if fd.IsExtension() {
 15441  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15442  		}
 15443  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 15444  	}
 15445  }
 15446  
 15447  // Get retrieves the value for a field.
 15448  //
 15449  // For unpopulated scalars, it returns the default value, where
 15450  // the default value of a bytes scalar is guaranteed to be a copy.
 15451  // For unpopulated composite types, it returns an empty, read-only view
 15452  // of the value; to obtain a mutable reference, use Mutable.
 15453  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 15454  	switch descriptor.FullName() {
 15455  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15456  		value := x.Id
 15457  		return protoreflect.ValueOfString(value)
 15458  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15459  		value := x.City
 15460  		return protoreflect.ValueOfString(value)
 15461  	default:
 15462  		if descriptor.IsExtension() {
 15463  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15464  		}
 15465  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", descriptor.FullName()))
 15466  	}
 15467  }
 15468  
 15469  // Set stores the value for a field.
 15470  //
 15471  // For a field belonging to a oneof, it implicitly clears any other field
 15472  // that may be currently set within the same oneof.
 15473  // For extension fields, it implicitly stores the provided ExtensionType.
 15474  // When setting a composite type, it is unspecified whether the stored value
 15475  // aliases the source's memory in any way. If the composite value is an
 15476  // empty, read-only value, then it panics.
 15477  //
 15478  // Set is a mutating operation and unsafe for concurrent use.
 15479  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 15480  	switch fd.FullName() {
 15481  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15482  		x.Id = value.Interface().(string)
 15483  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15484  		x.City = value.Interface().(string)
 15485  	default:
 15486  		if fd.IsExtension() {
 15487  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15488  		}
 15489  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 15490  	}
 15491  }
 15492  
 15493  // Mutable returns a mutable reference to a composite type.
 15494  //
 15495  // If the field is unpopulated, it may allocate a composite value.
 15496  // For a field belonging to a oneof, it implicitly clears any other field
 15497  // that may be currently set within the same oneof.
 15498  // For extension fields, it implicitly stores the provided ExtensionType
 15499  // if not already stored.
 15500  // It panics if the field does not contain a composite type.
 15501  //
 15502  // Mutable is a mutating operation and unsafe for concurrent use.
 15503  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 15504  	switch fd.FullName() {
 15505  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15506  		panic(fmt.Errorf("field id of message testpb.TestVersion3LoneNesting.Inner2.InnerInner is not mutable"))
 15507  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15508  		panic(fmt.Errorf("field city of message testpb.TestVersion3LoneNesting.Inner2.InnerInner is not mutable"))
 15509  	default:
 15510  		if fd.IsExtension() {
 15511  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15512  		}
 15513  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 15514  	}
 15515  }
 15516  
 15517  // NewField returns a new value that is assignable to the field
 15518  // for the given descriptor. For scalars, this returns the default value.
 15519  // For lists, maps, and messages, this returns a new, empty, mutable value.
 15520  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 15521  	switch fd.FullName() {
 15522  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.id":
 15523  		return protoreflect.ValueOfString("")
 15524  	case "testpb.TestVersion3LoneNesting.Inner2.InnerInner.city":
 15525  		return protoreflect.ValueOfString("")
 15526  	default:
 15527  		if fd.IsExtension() {
 15528  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion3LoneNesting.Inner2.InnerInner"))
 15529  		}
 15530  		panic(fmt.Errorf("message testpb.TestVersion3LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 15531  	}
 15532  }
 15533  
 15534  // WhichOneof reports which field within the oneof is populated,
 15535  // returning nil if none are populated.
 15536  // It panics if the oneof descriptor does not belong to this message.
 15537  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 15538  	switch d.FullName() {
 15539  	default:
 15540  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion3LoneNesting.Inner2.InnerInner", d.FullName()))
 15541  	}
 15542  	panic("unreachable")
 15543  }
 15544  
 15545  // GetUnknown retrieves the entire list of unknown fields.
 15546  // The caller may only mutate the contents of the RawFields
 15547  // if the mutated bytes are stored back into the message with SetUnknown.
 15548  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) GetUnknown() protoreflect.RawFields {
 15549  	return x.unknownFields
 15550  }
 15551  
 15552  // SetUnknown stores an entire list of unknown fields.
 15553  // The raw fields must be syntactically valid according to the wire format.
 15554  // An implementation may panic if this is not the case.
 15555  // Once stored, the caller must not mutate the content of the RawFields.
 15556  // An empty RawFields may be passed to clear the fields.
 15557  //
 15558  // SetUnknown is a mutating operation and unsafe for concurrent use.
 15559  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) SetUnknown(fields protoreflect.RawFields) {
 15560  	x.unknownFields = fields
 15561  }
 15562  
 15563  // IsValid reports whether the message is valid.
 15564  //
 15565  // An invalid message is an empty, read-only value.
 15566  //
 15567  // An invalid message often corresponds to a nil pointer of the concrete
 15568  // message type, but the details are implementation dependent.
 15569  // Validity is not part of the protobuf data model, and may not
 15570  // be preserved in marshaling or other operations.
 15571  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) IsValid() bool {
 15572  	return x != nil
 15573  }
 15574  
 15575  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 15576  // This method may return nil.
 15577  //
 15578  // The returned methods type is identical to
 15579  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 15580  // Consult the protoiface package documentation for details.
 15581  func (x *fastReflection_TestVersion3LoneNesting_Inner2_InnerInner) ProtoMethods() *protoiface.Methods {
 15582  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 15583  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2_InnerInner)
 15584  		if x == nil {
 15585  			return protoiface.SizeOutput{
 15586  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15587  				Size:              0,
 15588  			}
 15589  		}
 15590  		options := runtime.SizeInputToOptions(input)
 15591  		_ = options
 15592  		var n int
 15593  		var l int
 15594  		_ = l
 15595  		l = len(x.Id)
 15596  		if l > 0 {
 15597  			n += 1 + l + runtime.Sov(uint64(l))
 15598  		}
 15599  		l = len(x.City)
 15600  		if l > 0 {
 15601  			n += 1 + l + runtime.Sov(uint64(l))
 15602  		}
 15603  		if x.unknownFields != nil {
 15604  			n += len(x.unknownFields)
 15605  		}
 15606  		return protoiface.SizeOutput{
 15607  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15608  			Size:              n,
 15609  		}
 15610  	}
 15611  
 15612  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 15613  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2_InnerInner)
 15614  		if x == nil {
 15615  			return protoiface.MarshalOutput{
 15616  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15617  				Buf:               input.Buf,
 15618  			}, nil
 15619  		}
 15620  		options := runtime.MarshalInputToOptions(input)
 15621  		_ = options
 15622  		size := options.Size(x)
 15623  		dAtA := make([]byte, size)
 15624  		i := len(dAtA)
 15625  		_ = i
 15626  		var l int
 15627  		_ = l
 15628  		if x.unknownFields != nil {
 15629  			i -= len(x.unknownFields)
 15630  			copy(dAtA[i:], x.unknownFields)
 15631  		}
 15632  		if len(x.City) > 0 {
 15633  			i -= len(x.City)
 15634  			copy(dAtA[i:], x.City)
 15635  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.City)))
 15636  			i--
 15637  			dAtA[i] = 0x12
 15638  		}
 15639  		if len(x.Id) > 0 {
 15640  			i -= len(x.Id)
 15641  			copy(dAtA[i:], x.Id)
 15642  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id)))
 15643  			i--
 15644  			dAtA[i] = 0xa
 15645  		}
 15646  		if input.Buf != nil {
 15647  			input.Buf = append(input.Buf, dAtA...)
 15648  		} else {
 15649  			input.Buf = dAtA
 15650  		}
 15651  		return protoiface.MarshalOutput{
 15652  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15653  			Buf:               input.Buf,
 15654  		}, nil
 15655  	}
 15656  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 15657  		x := input.Message.Interface().(*TestVersion3LoneNesting_Inner2_InnerInner)
 15658  		if x == nil {
 15659  			return protoiface.UnmarshalOutput{
 15660  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 15661  				Flags:             input.Flags,
 15662  			}, nil
 15663  		}
 15664  		options := runtime.UnmarshalInputToOptions(input)
 15665  		_ = options
 15666  		dAtA := input.Buf
 15667  		l := len(dAtA)
 15668  		iNdEx := 0
 15669  		for iNdEx < l {
 15670  			preIndex := iNdEx
 15671  			var wire uint64
 15672  			for shift := uint(0); ; shift += 7 {
 15673  				if shift >= 64 {
 15674  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15675  				}
 15676  				if iNdEx >= l {
 15677  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15678  				}
 15679  				b := dAtA[iNdEx]
 15680  				iNdEx++
 15681  				wire |= uint64(b&0x7F) << shift
 15682  				if b < 0x80 {
 15683  					break
 15684  				}
 15685  			}
 15686  			fieldNum := int32(wire >> 3)
 15687  			wireType := int(wire & 0x7)
 15688  			if wireType == 4 {
 15689  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner2_InnerInner: wiretype end group for non-group")
 15690  			}
 15691  			if fieldNum <= 0 {
 15692  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion3LoneNesting_Inner2_InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 15693  			}
 15694  			switch fieldNum {
 15695  			case 1:
 15696  				if wireType != 2 {
 15697  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 15698  				}
 15699  				var stringLen uint64
 15700  				for shift := uint(0); ; shift += 7 {
 15701  					if shift >= 64 {
 15702  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15703  					}
 15704  					if iNdEx >= l {
 15705  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15706  					}
 15707  					b := dAtA[iNdEx]
 15708  					iNdEx++
 15709  					stringLen |= uint64(b&0x7F) << shift
 15710  					if b < 0x80 {
 15711  						break
 15712  					}
 15713  				}
 15714  				intStringLen := int(stringLen)
 15715  				if intStringLen < 0 {
 15716  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15717  				}
 15718  				postIndex := iNdEx + intStringLen
 15719  				if postIndex < 0 {
 15720  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15721  				}
 15722  				if postIndex > l {
 15723  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15724  				}
 15725  				x.Id = string(dAtA[iNdEx:postIndex])
 15726  				iNdEx = postIndex
 15727  			case 2:
 15728  				if wireType != 2 {
 15729  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 15730  				}
 15731  				var stringLen uint64
 15732  				for shift := uint(0); ; shift += 7 {
 15733  					if shift >= 64 {
 15734  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 15735  					}
 15736  					if iNdEx >= l {
 15737  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15738  					}
 15739  					b := dAtA[iNdEx]
 15740  					iNdEx++
 15741  					stringLen |= uint64(b&0x7F) << shift
 15742  					if b < 0x80 {
 15743  						break
 15744  					}
 15745  				}
 15746  				intStringLen := int(stringLen)
 15747  				if intStringLen < 0 {
 15748  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15749  				}
 15750  				postIndex := iNdEx + intStringLen
 15751  				if postIndex < 0 {
 15752  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15753  				}
 15754  				if postIndex > l {
 15755  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15756  				}
 15757  				x.City = string(dAtA[iNdEx:postIndex])
 15758  				iNdEx = postIndex
 15759  			default:
 15760  				iNdEx = preIndex
 15761  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 15762  				if err != nil {
 15763  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 15764  				}
 15765  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 15766  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 15767  				}
 15768  				if (iNdEx + skippy) > l {
 15769  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15770  				}
 15771  				if !options.DiscardUnknown {
 15772  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 15773  				}
 15774  				iNdEx += skippy
 15775  			}
 15776  		}
 15777  
 15778  		if iNdEx > l {
 15779  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 15780  		}
 15781  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 15782  	}
 15783  	return &protoiface.Methods{
 15784  		NoUnkeyedLiterals: struct{}{},
 15785  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 15786  		Size:              size,
 15787  		Marshal:           marshal,
 15788  		Unmarshal:         unmarshal,
 15789  		Merge:             nil,
 15790  		CheckInitialized:  nil,
 15791  	}
 15792  }
 15793  
 15794  var _ protoreflect.List = (*_TestVersion4LoneNesting_4_list)(nil)
 15795  
 15796  type _TestVersion4LoneNesting_4_list struct {
 15797  	list *[]*TestVersion3
 15798  }
 15799  
 15800  func (x *_TestVersion4LoneNesting_4_list) Len() int {
 15801  	if x.list == nil {
 15802  		return 0
 15803  	}
 15804  	return len(*x.list)
 15805  }
 15806  
 15807  func (x *_TestVersion4LoneNesting_4_list) Get(i int) protoreflect.Value {
 15808  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 15809  }
 15810  
 15811  func (x *_TestVersion4LoneNesting_4_list) Set(i int, value protoreflect.Value) {
 15812  	valueUnwrapped := value.Message()
 15813  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 15814  	(*x.list)[i] = concreteValue
 15815  }
 15816  
 15817  func (x *_TestVersion4LoneNesting_4_list) Append(value protoreflect.Value) {
 15818  	valueUnwrapped := value.Message()
 15819  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 15820  	*x.list = append(*x.list, concreteValue)
 15821  }
 15822  
 15823  func (x *_TestVersion4LoneNesting_4_list) AppendMutable() protoreflect.Value {
 15824  	v := new(TestVersion3)
 15825  	*x.list = append(*x.list, v)
 15826  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15827  }
 15828  
 15829  func (x *_TestVersion4LoneNesting_4_list) Truncate(n int) {
 15830  	for i := n; i < len(*x.list); i++ {
 15831  		(*x.list)[i] = nil
 15832  	}
 15833  	*x.list = (*x.list)[:n]
 15834  }
 15835  
 15836  func (x *_TestVersion4LoneNesting_4_list) NewElement() protoreflect.Value {
 15837  	v := new(TestVersion3)
 15838  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15839  }
 15840  
 15841  func (x *_TestVersion4LoneNesting_4_list) IsValid() bool {
 15842  	return x.list != nil
 15843  }
 15844  
 15845  var _ protoreflect.List = (*_TestVersion4LoneNesting_5_list)(nil)
 15846  
 15847  type _TestVersion4LoneNesting_5_list struct {
 15848  	list *[]*TestVersion3
 15849  }
 15850  
 15851  func (x *_TestVersion4LoneNesting_5_list) Len() int {
 15852  	if x.list == nil {
 15853  		return 0
 15854  	}
 15855  	return len(*x.list)
 15856  }
 15857  
 15858  func (x *_TestVersion4LoneNesting_5_list) Get(i int) protoreflect.Value {
 15859  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 15860  }
 15861  
 15862  func (x *_TestVersion4LoneNesting_5_list) Set(i int, value protoreflect.Value) {
 15863  	valueUnwrapped := value.Message()
 15864  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 15865  	(*x.list)[i] = concreteValue
 15866  }
 15867  
 15868  func (x *_TestVersion4LoneNesting_5_list) Append(value protoreflect.Value) {
 15869  	valueUnwrapped := value.Message()
 15870  	concreteValue := valueUnwrapped.Interface().(*TestVersion3)
 15871  	*x.list = append(*x.list, concreteValue)
 15872  }
 15873  
 15874  func (x *_TestVersion4LoneNesting_5_list) AppendMutable() protoreflect.Value {
 15875  	v := new(TestVersion3)
 15876  	*x.list = append(*x.list, v)
 15877  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15878  }
 15879  
 15880  func (x *_TestVersion4LoneNesting_5_list) Truncate(n int) {
 15881  	for i := n; i < len(*x.list); i++ {
 15882  		(*x.list)[i] = nil
 15883  	}
 15884  	*x.list = (*x.list)[:n]
 15885  }
 15886  
 15887  func (x *_TestVersion4LoneNesting_5_list) NewElement() protoreflect.Value {
 15888  	v := new(TestVersion3)
 15889  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15890  }
 15891  
 15892  func (x *_TestVersion4LoneNesting_5_list) IsValid() bool {
 15893  	return x.list != nil
 15894  }
 15895  
 15896  var _ protoreflect.List = (*_TestVersion4LoneNesting_9_list)(nil)
 15897  
 15898  type _TestVersion4LoneNesting_9_list struct {
 15899  	list *[]*TestVersion1
 15900  }
 15901  
 15902  func (x *_TestVersion4LoneNesting_9_list) Len() int {
 15903  	if x.list == nil {
 15904  		return 0
 15905  	}
 15906  	return len(*x.list)
 15907  }
 15908  
 15909  func (x *_TestVersion4LoneNesting_9_list) Get(i int) protoreflect.Value {
 15910  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 15911  }
 15912  
 15913  func (x *_TestVersion4LoneNesting_9_list) Set(i int, value protoreflect.Value) {
 15914  	valueUnwrapped := value.Message()
 15915  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 15916  	(*x.list)[i] = concreteValue
 15917  }
 15918  
 15919  func (x *_TestVersion4LoneNesting_9_list) Append(value protoreflect.Value) {
 15920  	valueUnwrapped := value.Message()
 15921  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 15922  	*x.list = append(*x.list, concreteValue)
 15923  }
 15924  
 15925  func (x *_TestVersion4LoneNesting_9_list) AppendMutable() protoreflect.Value {
 15926  	v := new(TestVersion1)
 15927  	*x.list = append(*x.list, v)
 15928  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15929  }
 15930  
 15931  func (x *_TestVersion4LoneNesting_9_list) Truncate(n int) {
 15932  	for i := n; i < len(*x.list); i++ {
 15933  		(*x.list)[i] = nil
 15934  	}
 15935  	*x.list = (*x.list)[:n]
 15936  }
 15937  
 15938  func (x *_TestVersion4LoneNesting_9_list) NewElement() protoreflect.Value {
 15939  	v := new(TestVersion1)
 15940  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 15941  }
 15942  
 15943  func (x *_TestVersion4LoneNesting_9_list) IsValid() bool {
 15944  	return x.list != nil
 15945  }
 15946  
 15947  var (
 15948  	md_TestVersion4LoneNesting                    protoreflect.MessageDescriptor
 15949  	fd_TestVersion4LoneNesting_x                  protoreflect.FieldDescriptor
 15950  	fd_TestVersion4LoneNesting_a                  protoreflect.FieldDescriptor
 15951  	fd_TestVersion4LoneNesting_b                  protoreflect.FieldDescriptor
 15952  	fd_TestVersion4LoneNesting_c                  protoreflect.FieldDescriptor
 15953  	fd_TestVersion4LoneNesting_d                  protoreflect.FieldDescriptor
 15954  	fd_TestVersion4LoneNesting_f                  protoreflect.FieldDescriptor
 15955  	fd_TestVersion4LoneNesting_g                  protoreflect.FieldDescriptor
 15956  	fd_TestVersion4LoneNesting_h                  protoreflect.FieldDescriptor
 15957  	fd_TestVersion4LoneNesting_k                  protoreflect.FieldDescriptor
 15958  	fd_TestVersion4LoneNesting_non_critical_field protoreflect.FieldDescriptor
 15959  	fd_TestVersion4LoneNesting_inner1             protoreflect.FieldDescriptor
 15960  	fd_TestVersion4LoneNesting_inner2             protoreflect.FieldDescriptor
 15961  )
 15962  
 15963  func init() {
 15964  	file_testpb_unknonwnproto_proto_init()
 15965  	md_TestVersion4LoneNesting = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion4LoneNesting")
 15966  	fd_TestVersion4LoneNesting_x = md_TestVersion4LoneNesting.Fields().ByName("x")
 15967  	fd_TestVersion4LoneNesting_a = md_TestVersion4LoneNesting.Fields().ByName("a")
 15968  	fd_TestVersion4LoneNesting_b = md_TestVersion4LoneNesting.Fields().ByName("b")
 15969  	fd_TestVersion4LoneNesting_c = md_TestVersion4LoneNesting.Fields().ByName("c")
 15970  	fd_TestVersion4LoneNesting_d = md_TestVersion4LoneNesting.Fields().ByName("d")
 15971  	fd_TestVersion4LoneNesting_f = md_TestVersion4LoneNesting.Fields().ByName("f")
 15972  	fd_TestVersion4LoneNesting_g = md_TestVersion4LoneNesting.Fields().ByName("g")
 15973  	fd_TestVersion4LoneNesting_h = md_TestVersion4LoneNesting.Fields().ByName("h")
 15974  	fd_TestVersion4LoneNesting_k = md_TestVersion4LoneNesting.Fields().ByName("k")
 15975  	fd_TestVersion4LoneNesting_non_critical_field = md_TestVersion4LoneNesting.Fields().ByName("non_critical_field")
 15976  	fd_TestVersion4LoneNesting_inner1 = md_TestVersion4LoneNesting.Fields().ByName("inner1")
 15977  	fd_TestVersion4LoneNesting_inner2 = md_TestVersion4LoneNesting.Fields().ByName("inner2")
 15978  }
 15979  
 15980  var _ protoreflect.Message = (*fastReflection_TestVersion4LoneNesting)(nil)
 15981  
 15982  type fastReflection_TestVersion4LoneNesting TestVersion4LoneNesting
 15983  
 15984  func (x *TestVersion4LoneNesting) ProtoReflect() protoreflect.Message {
 15985  	return (*fastReflection_TestVersion4LoneNesting)(x)
 15986  }
 15987  
 15988  func (x *TestVersion4LoneNesting) slowProtoReflect() protoreflect.Message {
 15989  	mi := &file_testpb_unknonwnproto_proto_msgTypes[16]
 15990  	if protoimpl.UnsafeEnabled && x != nil {
 15991  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 15992  		if ms.LoadMessageInfo() == nil {
 15993  			ms.StoreMessageInfo(mi)
 15994  		}
 15995  		return ms
 15996  	}
 15997  	return mi.MessageOf(x)
 15998  }
 15999  
 16000  var _fastReflection_TestVersion4LoneNesting_messageType fastReflection_TestVersion4LoneNesting_messageType
 16001  var _ protoreflect.MessageType = fastReflection_TestVersion4LoneNesting_messageType{}
 16002  
 16003  type fastReflection_TestVersion4LoneNesting_messageType struct{}
 16004  
 16005  func (x fastReflection_TestVersion4LoneNesting_messageType) Zero() protoreflect.Message {
 16006  	return (*fastReflection_TestVersion4LoneNesting)(nil)
 16007  }
 16008  func (x fastReflection_TestVersion4LoneNesting_messageType) New() protoreflect.Message {
 16009  	return new(fastReflection_TestVersion4LoneNesting)
 16010  }
 16011  func (x fastReflection_TestVersion4LoneNesting_messageType) Descriptor() protoreflect.MessageDescriptor {
 16012  	return md_TestVersion4LoneNesting
 16013  }
 16014  
 16015  // Descriptor returns message descriptor, which contains only the protobuf
 16016  // type information for the message.
 16017  func (x *fastReflection_TestVersion4LoneNesting) Descriptor() protoreflect.MessageDescriptor {
 16018  	return md_TestVersion4LoneNesting
 16019  }
 16020  
 16021  // Type returns the message type, which encapsulates both Go and protobuf
 16022  // type information. If the Go type information is not needed,
 16023  // it is recommended that the message descriptor be used instead.
 16024  func (x *fastReflection_TestVersion4LoneNesting) Type() protoreflect.MessageType {
 16025  	return _fastReflection_TestVersion4LoneNesting_messageType
 16026  }
 16027  
 16028  // New returns a newly allocated and mutable empty message.
 16029  func (x *fastReflection_TestVersion4LoneNesting) New() protoreflect.Message {
 16030  	return new(fastReflection_TestVersion4LoneNesting)
 16031  }
 16032  
 16033  // Interface unwraps the message reflection interface and
 16034  // returns the underlying ProtoMessage interface.
 16035  func (x *fastReflection_TestVersion4LoneNesting) Interface() protoreflect.ProtoMessage {
 16036  	return (*TestVersion4LoneNesting)(x)
 16037  }
 16038  
 16039  // Range iterates over every populated field in an undefined order,
 16040  // calling f for each field descriptor and value encountered.
 16041  // Range returns immediately if f returns false.
 16042  // While iterating, mutating operations may only be performed
 16043  // on the current field descriptor.
 16044  func (x *fastReflection_TestVersion4LoneNesting) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 16045  	if x.X != int64(0) {
 16046  		value := protoreflect.ValueOfInt64(x.X)
 16047  		if !f(fd_TestVersion4LoneNesting_x, value) {
 16048  			return
 16049  		}
 16050  	}
 16051  	if x.A != nil {
 16052  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 16053  		if !f(fd_TestVersion4LoneNesting_a, value) {
 16054  			return
 16055  		}
 16056  	}
 16057  	if x.B != nil {
 16058  		value := protoreflect.ValueOfMessage(x.B.ProtoReflect())
 16059  		if !f(fd_TestVersion4LoneNesting_b, value) {
 16060  			return
 16061  		}
 16062  	}
 16063  	if len(x.C) != 0 {
 16064  		value := protoreflect.ValueOfList(&_TestVersion4LoneNesting_4_list{list: &x.C})
 16065  		if !f(fd_TestVersion4LoneNesting_c, value) {
 16066  			return
 16067  		}
 16068  	}
 16069  	if len(x.D) != 0 {
 16070  		value := protoreflect.ValueOfList(&_TestVersion4LoneNesting_5_list{list: &x.D})
 16071  		if !f(fd_TestVersion4LoneNesting_d, value) {
 16072  			return
 16073  		}
 16074  	}
 16075  	if x.Sum != nil {
 16076  		switch o := x.Sum.(type) {
 16077  		case *TestVersion4LoneNesting_F:
 16078  			v := o.F
 16079  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
 16080  			if !f(fd_TestVersion4LoneNesting_f, value) {
 16081  				return
 16082  			}
 16083  		}
 16084  	}
 16085  	if x.G != nil {
 16086  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
 16087  		if !f(fd_TestVersion4LoneNesting_g, value) {
 16088  			return
 16089  		}
 16090  	}
 16091  	if len(x.H) != 0 {
 16092  		value := protoreflect.ValueOfList(&_TestVersion4LoneNesting_9_list{list: &x.H})
 16093  		if !f(fd_TestVersion4LoneNesting_h, value) {
 16094  			return
 16095  		}
 16096  	}
 16097  	if x.K != nil {
 16098  		value := protoreflect.ValueOfMessage(x.K.ProtoReflect())
 16099  		if !f(fd_TestVersion4LoneNesting_k, value) {
 16100  			return
 16101  		}
 16102  	}
 16103  	if x.NonCriticalField != "" {
 16104  		value := protoreflect.ValueOfString(x.NonCriticalField)
 16105  		if !f(fd_TestVersion4LoneNesting_non_critical_field, value) {
 16106  			return
 16107  		}
 16108  	}
 16109  	if x.Inner1 != nil {
 16110  		value := protoreflect.ValueOfMessage(x.Inner1.ProtoReflect())
 16111  		if !f(fd_TestVersion4LoneNesting_inner1, value) {
 16112  			return
 16113  		}
 16114  	}
 16115  	if x.Inner2 != nil {
 16116  		value := protoreflect.ValueOfMessage(x.Inner2.ProtoReflect())
 16117  		if !f(fd_TestVersion4LoneNesting_inner2, value) {
 16118  			return
 16119  		}
 16120  	}
 16121  }
 16122  
 16123  // Has reports whether a field is populated.
 16124  //
 16125  // Some fields have the property of nullability where it is possible to
 16126  // distinguish between the default value of a field and whether the field
 16127  // was explicitly populated with the default value. Singular message fields,
 16128  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 16129  // fields are populated only if explicitly set.
 16130  //
 16131  // In other cases (aside from the nullable cases above),
 16132  // a proto3 scalar field is populated if it contains a non-zero value, and
 16133  // a repeated field is populated if it is non-empty.
 16134  func (x *fastReflection_TestVersion4LoneNesting) Has(fd protoreflect.FieldDescriptor) bool {
 16135  	switch fd.FullName() {
 16136  	case "testpb.TestVersion4LoneNesting.x":
 16137  		return x.X != int64(0)
 16138  	case "testpb.TestVersion4LoneNesting.a":
 16139  		return x.A != nil
 16140  	case "testpb.TestVersion4LoneNesting.b":
 16141  		return x.B != nil
 16142  	case "testpb.TestVersion4LoneNesting.c":
 16143  		return len(x.C) != 0
 16144  	case "testpb.TestVersion4LoneNesting.d":
 16145  		return len(x.D) != 0
 16146  	case "testpb.TestVersion4LoneNesting.f":
 16147  		if x.Sum == nil {
 16148  			return false
 16149  		} else if _, ok := x.Sum.(*TestVersion4LoneNesting_F); ok {
 16150  			return true
 16151  		} else {
 16152  			return false
 16153  		}
 16154  	case "testpb.TestVersion4LoneNesting.g":
 16155  		return x.G != nil
 16156  	case "testpb.TestVersion4LoneNesting.h":
 16157  		return len(x.H) != 0
 16158  	case "testpb.TestVersion4LoneNesting.k":
 16159  		return x.K != nil
 16160  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16161  		return x.NonCriticalField != ""
 16162  	case "testpb.TestVersion4LoneNesting.inner1":
 16163  		return x.Inner1 != nil
 16164  	case "testpb.TestVersion4LoneNesting.inner2":
 16165  		return x.Inner2 != nil
 16166  	default:
 16167  		if fd.IsExtension() {
 16168  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16169  		}
 16170  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", fd.FullName()))
 16171  	}
 16172  }
 16173  
 16174  // Clear clears the field such that a subsequent Has call reports false.
 16175  //
 16176  // Clearing an extension field clears both the extension type and value
 16177  // associated with the given field number.
 16178  //
 16179  // Clear is a mutating operation and unsafe for concurrent use.
 16180  func (x *fastReflection_TestVersion4LoneNesting) Clear(fd protoreflect.FieldDescriptor) {
 16181  	switch fd.FullName() {
 16182  	case "testpb.TestVersion4LoneNesting.x":
 16183  		x.X = int64(0)
 16184  	case "testpb.TestVersion4LoneNesting.a":
 16185  		x.A = nil
 16186  	case "testpb.TestVersion4LoneNesting.b":
 16187  		x.B = nil
 16188  	case "testpb.TestVersion4LoneNesting.c":
 16189  		x.C = nil
 16190  	case "testpb.TestVersion4LoneNesting.d":
 16191  		x.D = nil
 16192  	case "testpb.TestVersion4LoneNesting.f":
 16193  		x.Sum = nil
 16194  	case "testpb.TestVersion4LoneNesting.g":
 16195  		x.G = nil
 16196  	case "testpb.TestVersion4LoneNesting.h":
 16197  		x.H = nil
 16198  	case "testpb.TestVersion4LoneNesting.k":
 16199  		x.K = nil
 16200  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16201  		x.NonCriticalField = ""
 16202  	case "testpb.TestVersion4LoneNesting.inner1":
 16203  		x.Inner1 = nil
 16204  	case "testpb.TestVersion4LoneNesting.inner2":
 16205  		x.Inner2 = nil
 16206  	default:
 16207  		if fd.IsExtension() {
 16208  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16209  		}
 16210  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", fd.FullName()))
 16211  	}
 16212  }
 16213  
 16214  // Get retrieves the value for a field.
 16215  //
 16216  // For unpopulated scalars, it returns the default value, where
 16217  // the default value of a bytes scalar is guaranteed to be a copy.
 16218  // For unpopulated composite types, it returns an empty, read-only view
 16219  // of the value; to obtain a mutable reference, use Mutable.
 16220  func (x *fastReflection_TestVersion4LoneNesting) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 16221  	switch descriptor.FullName() {
 16222  	case "testpb.TestVersion4LoneNesting.x":
 16223  		value := x.X
 16224  		return protoreflect.ValueOfInt64(value)
 16225  	case "testpb.TestVersion4LoneNesting.a":
 16226  		value := x.A
 16227  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16228  	case "testpb.TestVersion4LoneNesting.b":
 16229  		value := x.B
 16230  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16231  	case "testpb.TestVersion4LoneNesting.c":
 16232  		if len(x.C) == 0 {
 16233  			return protoreflect.ValueOfList(&_TestVersion4LoneNesting_4_list{})
 16234  		}
 16235  		listValue := &_TestVersion4LoneNesting_4_list{list: &x.C}
 16236  		return protoreflect.ValueOfList(listValue)
 16237  	case "testpb.TestVersion4LoneNesting.d":
 16238  		if len(x.D) == 0 {
 16239  			return protoreflect.ValueOfList(&_TestVersion4LoneNesting_5_list{})
 16240  		}
 16241  		listValue := &_TestVersion4LoneNesting_5_list{list: &x.D}
 16242  		return protoreflect.ValueOfList(listValue)
 16243  	case "testpb.TestVersion4LoneNesting.f":
 16244  		if x.Sum == nil {
 16245  			return protoreflect.ValueOfMessage((*TestVersion3LoneNesting)(nil).ProtoReflect())
 16246  		} else if v, ok := x.Sum.(*TestVersion4LoneNesting_F); ok {
 16247  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
 16248  		} else {
 16249  			return protoreflect.ValueOfMessage((*TestVersion3LoneNesting)(nil).ProtoReflect())
 16250  		}
 16251  	case "testpb.TestVersion4LoneNesting.g":
 16252  		value := x.G
 16253  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16254  	case "testpb.TestVersion4LoneNesting.h":
 16255  		if len(x.H) == 0 {
 16256  			return protoreflect.ValueOfList(&_TestVersion4LoneNesting_9_list{})
 16257  		}
 16258  		listValue := &_TestVersion4LoneNesting_9_list{list: &x.H}
 16259  		return protoreflect.ValueOfList(listValue)
 16260  	case "testpb.TestVersion4LoneNesting.k":
 16261  		value := x.K
 16262  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16263  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16264  		value := x.NonCriticalField
 16265  		return protoreflect.ValueOfString(value)
 16266  	case "testpb.TestVersion4LoneNesting.inner1":
 16267  		value := x.Inner1
 16268  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16269  	case "testpb.TestVersion4LoneNesting.inner2":
 16270  		value := x.Inner2
 16271  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16272  	default:
 16273  		if descriptor.IsExtension() {
 16274  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16275  		}
 16276  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", descriptor.FullName()))
 16277  	}
 16278  }
 16279  
 16280  // Set stores the value for a field.
 16281  //
 16282  // For a field belonging to a oneof, it implicitly clears any other field
 16283  // that may be currently set within the same oneof.
 16284  // For extension fields, it implicitly stores the provided ExtensionType.
 16285  // When setting a composite type, it is unspecified whether the stored value
 16286  // aliases the source's memory in any way. If the composite value is an
 16287  // empty, read-only value, then it panics.
 16288  //
 16289  // Set is a mutating operation and unsafe for concurrent use.
 16290  func (x *fastReflection_TestVersion4LoneNesting) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 16291  	switch fd.FullName() {
 16292  	case "testpb.TestVersion4LoneNesting.x":
 16293  		x.X = value.Int()
 16294  	case "testpb.TestVersion4LoneNesting.a":
 16295  		x.A = value.Message().Interface().(*TestVersion3)
 16296  	case "testpb.TestVersion4LoneNesting.b":
 16297  		x.B = value.Message().Interface().(*TestVersion3)
 16298  	case "testpb.TestVersion4LoneNesting.c":
 16299  		lv := value.List()
 16300  		clv := lv.(*_TestVersion4LoneNesting_4_list)
 16301  		x.C = *clv.list
 16302  	case "testpb.TestVersion4LoneNesting.d":
 16303  		lv := value.List()
 16304  		clv := lv.(*_TestVersion4LoneNesting_5_list)
 16305  		x.D = *clv.list
 16306  	case "testpb.TestVersion4LoneNesting.f":
 16307  		cv := value.Message().Interface().(*TestVersion3LoneNesting)
 16308  		x.Sum = &TestVersion4LoneNesting_F{F: cv}
 16309  	case "testpb.TestVersion4LoneNesting.g":
 16310  		x.G = value.Message().Interface().(*anypb.Any)
 16311  	case "testpb.TestVersion4LoneNesting.h":
 16312  		lv := value.List()
 16313  		clv := lv.(*_TestVersion4LoneNesting_9_list)
 16314  		x.H = *clv.list
 16315  	case "testpb.TestVersion4LoneNesting.k":
 16316  		x.K = value.Message().Interface().(*Customer1)
 16317  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16318  		x.NonCriticalField = value.Interface().(string)
 16319  	case "testpb.TestVersion4LoneNesting.inner1":
 16320  		x.Inner1 = value.Message().Interface().(*TestVersion4LoneNesting_Inner1)
 16321  	case "testpb.TestVersion4LoneNesting.inner2":
 16322  		x.Inner2 = value.Message().Interface().(*TestVersion4LoneNesting_Inner2)
 16323  	default:
 16324  		if fd.IsExtension() {
 16325  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16326  		}
 16327  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", fd.FullName()))
 16328  	}
 16329  }
 16330  
 16331  // Mutable returns a mutable reference to a composite type.
 16332  //
 16333  // If the field is unpopulated, it may allocate a composite value.
 16334  // For a field belonging to a oneof, it implicitly clears any other field
 16335  // that may be currently set within the same oneof.
 16336  // For extension fields, it implicitly stores the provided ExtensionType
 16337  // if not already stored.
 16338  // It panics if the field does not contain a composite type.
 16339  //
 16340  // Mutable is a mutating operation and unsafe for concurrent use.
 16341  func (x *fastReflection_TestVersion4LoneNesting) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 16342  	switch fd.FullName() {
 16343  	case "testpb.TestVersion4LoneNesting.a":
 16344  		if x.A == nil {
 16345  			x.A = new(TestVersion3)
 16346  		}
 16347  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 16348  	case "testpb.TestVersion4LoneNesting.b":
 16349  		if x.B == nil {
 16350  			x.B = new(TestVersion3)
 16351  		}
 16352  		return protoreflect.ValueOfMessage(x.B.ProtoReflect())
 16353  	case "testpb.TestVersion4LoneNesting.c":
 16354  		if x.C == nil {
 16355  			x.C = []*TestVersion3{}
 16356  		}
 16357  		value := &_TestVersion4LoneNesting_4_list{list: &x.C}
 16358  		return protoreflect.ValueOfList(value)
 16359  	case "testpb.TestVersion4LoneNesting.d":
 16360  		if x.D == nil {
 16361  			x.D = []*TestVersion3{}
 16362  		}
 16363  		value := &_TestVersion4LoneNesting_5_list{list: &x.D}
 16364  		return protoreflect.ValueOfList(value)
 16365  	case "testpb.TestVersion4LoneNesting.f":
 16366  		if x.Sum == nil {
 16367  			value := &TestVersion3LoneNesting{}
 16368  			oneofValue := &TestVersion4LoneNesting_F{F: value}
 16369  			x.Sum = oneofValue
 16370  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 16371  		}
 16372  		switch m := x.Sum.(type) {
 16373  		case *TestVersion4LoneNesting_F:
 16374  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
 16375  		default:
 16376  			value := &TestVersion3LoneNesting{}
 16377  			oneofValue := &TestVersion4LoneNesting_F{F: value}
 16378  			x.Sum = oneofValue
 16379  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 16380  		}
 16381  	case "testpb.TestVersion4LoneNesting.g":
 16382  		if x.G == nil {
 16383  			x.G = new(anypb.Any)
 16384  		}
 16385  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 16386  	case "testpb.TestVersion4LoneNesting.h":
 16387  		if x.H == nil {
 16388  			x.H = []*TestVersion1{}
 16389  		}
 16390  		value := &_TestVersion4LoneNesting_9_list{list: &x.H}
 16391  		return protoreflect.ValueOfList(value)
 16392  	case "testpb.TestVersion4LoneNesting.k":
 16393  		if x.K == nil {
 16394  			x.K = new(Customer1)
 16395  		}
 16396  		return protoreflect.ValueOfMessage(x.K.ProtoReflect())
 16397  	case "testpb.TestVersion4LoneNesting.inner1":
 16398  		if x.Inner1 == nil {
 16399  			x.Inner1 = new(TestVersion4LoneNesting_Inner1)
 16400  		}
 16401  		return protoreflect.ValueOfMessage(x.Inner1.ProtoReflect())
 16402  	case "testpb.TestVersion4LoneNesting.inner2":
 16403  		if x.Inner2 == nil {
 16404  			x.Inner2 = new(TestVersion4LoneNesting_Inner2)
 16405  		}
 16406  		return protoreflect.ValueOfMessage(x.Inner2.ProtoReflect())
 16407  	case "testpb.TestVersion4LoneNesting.x":
 16408  		panic(fmt.Errorf("field x of message testpb.TestVersion4LoneNesting is not mutable"))
 16409  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16410  		panic(fmt.Errorf("field non_critical_field of message testpb.TestVersion4LoneNesting is not mutable"))
 16411  	default:
 16412  		if fd.IsExtension() {
 16413  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16414  		}
 16415  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", fd.FullName()))
 16416  	}
 16417  }
 16418  
 16419  // NewField returns a new value that is assignable to the field
 16420  // for the given descriptor. For scalars, this returns the default value.
 16421  // For lists, maps, and messages, this returns a new, empty, mutable value.
 16422  func (x *fastReflection_TestVersion4LoneNesting) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 16423  	switch fd.FullName() {
 16424  	case "testpb.TestVersion4LoneNesting.x":
 16425  		return protoreflect.ValueOfInt64(int64(0))
 16426  	case "testpb.TestVersion4LoneNesting.a":
 16427  		m := new(TestVersion3)
 16428  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16429  	case "testpb.TestVersion4LoneNesting.b":
 16430  		m := new(TestVersion3)
 16431  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16432  	case "testpb.TestVersion4LoneNesting.c":
 16433  		list := []*TestVersion3{}
 16434  		return protoreflect.ValueOfList(&_TestVersion4LoneNesting_4_list{list: &list})
 16435  	case "testpb.TestVersion4LoneNesting.d":
 16436  		list := []*TestVersion3{}
 16437  		return protoreflect.ValueOfList(&_TestVersion4LoneNesting_5_list{list: &list})
 16438  	case "testpb.TestVersion4LoneNesting.f":
 16439  		value := &TestVersion3LoneNesting{}
 16440  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 16441  	case "testpb.TestVersion4LoneNesting.g":
 16442  		m := new(anypb.Any)
 16443  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16444  	case "testpb.TestVersion4LoneNesting.h":
 16445  		list := []*TestVersion1{}
 16446  		return protoreflect.ValueOfList(&_TestVersion4LoneNesting_9_list{list: &list})
 16447  	case "testpb.TestVersion4LoneNesting.k":
 16448  		m := new(Customer1)
 16449  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16450  	case "testpb.TestVersion4LoneNesting.non_critical_field":
 16451  		return protoreflect.ValueOfString("")
 16452  	case "testpb.TestVersion4LoneNesting.inner1":
 16453  		m := new(TestVersion4LoneNesting_Inner1)
 16454  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16455  	case "testpb.TestVersion4LoneNesting.inner2":
 16456  		m := new(TestVersion4LoneNesting_Inner2)
 16457  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 16458  	default:
 16459  		if fd.IsExtension() {
 16460  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting"))
 16461  		}
 16462  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting does not contain field %s", fd.FullName()))
 16463  	}
 16464  }
 16465  
 16466  // WhichOneof reports which field within the oneof is populated,
 16467  // returning nil if none are populated.
 16468  // It panics if the oneof descriptor does not belong to this message.
 16469  func (x *fastReflection_TestVersion4LoneNesting) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 16470  	switch d.FullName() {
 16471  	case "testpb.TestVersion4LoneNesting.sum":
 16472  		if x.Sum == nil {
 16473  			return nil
 16474  		}
 16475  		switch x.Sum.(type) {
 16476  		case *TestVersion4LoneNesting_F:
 16477  			return x.Descriptor().Fields().ByName("f")
 16478  		}
 16479  	default:
 16480  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion4LoneNesting", d.FullName()))
 16481  	}
 16482  	panic("unreachable")
 16483  }
 16484  
 16485  // GetUnknown retrieves the entire list of unknown fields.
 16486  // The caller may only mutate the contents of the RawFields
 16487  // if the mutated bytes are stored back into the message with SetUnknown.
 16488  func (x *fastReflection_TestVersion4LoneNesting) GetUnknown() protoreflect.RawFields {
 16489  	return x.unknownFields
 16490  }
 16491  
 16492  // SetUnknown stores an entire list of unknown fields.
 16493  // The raw fields must be syntactically valid according to the wire format.
 16494  // An implementation may panic if this is not the case.
 16495  // Once stored, the caller must not mutate the content of the RawFields.
 16496  // An empty RawFields may be passed to clear the fields.
 16497  //
 16498  // SetUnknown is a mutating operation and unsafe for concurrent use.
 16499  func (x *fastReflection_TestVersion4LoneNesting) SetUnknown(fields protoreflect.RawFields) {
 16500  	x.unknownFields = fields
 16501  }
 16502  
 16503  // IsValid reports whether the message is valid.
 16504  //
 16505  // An invalid message is an empty, read-only value.
 16506  //
 16507  // An invalid message often corresponds to a nil pointer of the concrete
 16508  // message type, but the details are implementation dependent.
 16509  // Validity is not part of the protobuf data model, and may not
 16510  // be preserved in marshaling or other operations.
 16511  func (x *fastReflection_TestVersion4LoneNesting) IsValid() bool {
 16512  	return x != nil
 16513  }
 16514  
 16515  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 16516  // This method may return nil.
 16517  //
 16518  // The returned methods type is identical to
 16519  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 16520  // Consult the protoiface package documentation for details.
 16521  func (x *fastReflection_TestVersion4LoneNesting) ProtoMethods() *protoiface.Methods {
 16522  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 16523  		x := input.Message.Interface().(*TestVersion4LoneNesting)
 16524  		if x == nil {
 16525  			return protoiface.SizeOutput{
 16526  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16527  				Size:              0,
 16528  			}
 16529  		}
 16530  		options := runtime.SizeInputToOptions(input)
 16531  		_ = options
 16532  		var n int
 16533  		var l int
 16534  		_ = l
 16535  		if x.X != 0 {
 16536  			n += 1 + runtime.Sov(uint64(x.X))
 16537  		}
 16538  		if x.A != nil {
 16539  			l = options.Size(x.A)
 16540  			n += 1 + l + runtime.Sov(uint64(l))
 16541  		}
 16542  		if x.B != nil {
 16543  			l = options.Size(x.B)
 16544  			n += 1 + l + runtime.Sov(uint64(l))
 16545  		}
 16546  		if len(x.C) > 0 {
 16547  			for _, e := range x.C {
 16548  				l = options.Size(e)
 16549  				n += 1 + l + runtime.Sov(uint64(l))
 16550  			}
 16551  		}
 16552  		if len(x.D) > 0 {
 16553  			for _, e := range x.D {
 16554  				l = options.Size(e)
 16555  				n += 1 + l + runtime.Sov(uint64(l))
 16556  			}
 16557  		}
 16558  		switch x := x.Sum.(type) {
 16559  		case *TestVersion4LoneNesting_F:
 16560  			if x == nil {
 16561  				break
 16562  			}
 16563  			l = options.Size(x.F)
 16564  			n += 1 + l + runtime.Sov(uint64(l))
 16565  		}
 16566  		if x.G != nil {
 16567  			l = options.Size(x.G)
 16568  			n += 1 + l + runtime.Sov(uint64(l))
 16569  		}
 16570  		if len(x.H) > 0 {
 16571  			for _, e := range x.H {
 16572  				l = options.Size(e)
 16573  				n += 1 + l + runtime.Sov(uint64(l))
 16574  			}
 16575  		}
 16576  		if x.K != nil {
 16577  			l = options.Size(x.K)
 16578  			n += 1 + l + runtime.Sov(uint64(l))
 16579  		}
 16580  		l = len(x.NonCriticalField)
 16581  		if l > 0 {
 16582  			n += 2 + l + runtime.Sov(uint64(l))
 16583  		}
 16584  		if x.Inner1 != nil {
 16585  			l = options.Size(x.Inner1)
 16586  			n += 1 + l + runtime.Sov(uint64(l))
 16587  		}
 16588  		if x.Inner2 != nil {
 16589  			l = options.Size(x.Inner2)
 16590  			n += 1 + l + runtime.Sov(uint64(l))
 16591  		}
 16592  		if x.unknownFields != nil {
 16593  			n += len(x.unknownFields)
 16594  		}
 16595  		return protoiface.SizeOutput{
 16596  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16597  			Size:              n,
 16598  		}
 16599  	}
 16600  
 16601  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 16602  		x := input.Message.Interface().(*TestVersion4LoneNesting)
 16603  		if x == nil {
 16604  			return protoiface.MarshalOutput{
 16605  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16606  				Buf:               input.Buf,
 16607  			}, nil
 16608  		}
 16609  		options := runtime.MarshalInputToOptions(input)
 16610  		_ = options
 16611  		size := options.Size(x)
 16612  		dAtA := make([]byte, size)
 16613  		i := len(dAtA)
 16614  		_ = i
 16615  		var l int
 16616  		_ = l
 16617  		if x.unknownFields != nil {
 16618  			i -= len(x.unknownFields)
 16619  			copy(dAtA[i:], x.unknownFields)
 16620  		}
 16621  		switch x := x.Sum.(type) {
 16622  		case *TestVersion4LoneNesting_F:
 16623  			encoded, err := options.Marshal(x.F)
 16624  			if err != nil {
 16625  				return protoiface.MarshalOutput{
 16626  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16627  					Buf:               input.Buf,
 16628  				}, err
 16629  			}
 16630  			i -= len(encoded)
 16631  			copy(dAtA[i:], encoded)
 16632  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16633  			i--
 16634  			dAtA[i] = 0x3a
 16635  		}
 16636  		if len(x.NonCriticalField) > 0 {
 16637  			i -= len(x.NonCriticalField)
 16638  			copy(dAtA[i:], x.NonCriticalField)
 16639  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NonCriticalField)))
 16640  			i--
 16641  			dAtA[i] = 0x40
 16642  			i--
 16643  			dAtA[i] = 0xba
 16644  		}
 16645  		if x.Inner2 != nil {
 16646  			encoded, err := options.Marshal(x.Inner2)
 16647  			if err != nil {
 16648  				return protoiface.MarshalOutput{
 16649  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16650  					Buf:               input.Buf,
 16651  				}, err
 16652  			}
 16653  			i -= len(encoded)
 16654  			copy(dAtA[i:], encoded)
 16655  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16656  			i--
 16657  			dAtA[i] = 0x7a
 16658  		}
 16659  		if x.Inner1 != nil {
 16660  			encoded, err := options.Marshal(x.Inner1)
 16661  			if err != nil {
 16662  				return protoiface.MarshalOutput{
 16663  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16664  					Buf:               input.Buf,
 16665  				}, err
 16666  			}
 16667  			i -= len(encoded)
 16668  			copy(dAtA[i:], encoded)
 16669  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16670  			i--
 16671  			dAtA[i] = 0x72
 16672  		}
 16673  		if x.K != nil {
 16674  			encoded, err := options.Marshal(x.K)
 16675  			if err != nil {
 16676  				return protoiface.MarshalOutput{
 16677  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16678  					Buf:               input.Buf,
 16679  				}, err
 16680  			}
 16681  			i -= len(encoded)
 16682  			copy(dAtA[i:], encoded)
 16683  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16684  			i--
 16685  			dAtA[i] = 0x62
 16686  		}
 16687  		if len(x.H) > 0 {
 16688  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 16689  				encoded, err := options.Marshal(x.H[iNdEx])
 16690  				if err != nil {
 16691  					return protoiface.MarshalOutput{
 16692  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16693  						Buf:               input.Buf,
 16694  					}, err
 16695  				}
 16696  				i -= len(encoded)
 16697  				copy(dAtA[i:], encoded)
 16698  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16699  				i--
 16700  				dAtA[i] = 0x4a
 16701  			}
 16702  		}
 16703  		if x.G != nil {
 16704  			encoded, err := options.Marshal(x.G)
 16705  			if err != nil {
 16706  				return protoiface.MarshalOutput{
 16707  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16708  					Buf:               input.Buf,
 16709  				}, err
 16710  			}
 16711  			i -= len(encoded)
 16712  			copy(dAtA[i:], encoded)
 16713  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16714  			i--
 16715  			dAtA[i] = 0x42
 16716  		}
 16717  		if len(x.D) > 0 {
 16718  			for iNdEx := len(x.D) - 1; iNdEx >= 0; iNdEx-- {
 16719  				encoded, err := options.Marshal(x.D[iNdEx])
 16720  				if err != nil {
 16721  					return protoiface.MarshalOutput{
 16722  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16723  						Buf:               input.Buf,
 16724  					}, err
 16725  				}
 16726  				i -= len(encoded)
 16727  				copy(dAtA[i:], encoded)
 16728  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16729  				i--
 16730  				dAtA[i] = 0x2a
 16731  			}
 16732  		}
 16733  		if len(x.C) > 0 {
 16734  			for iNdEx := len(x.C) - 1; iNdEx >= 0; iNdEx-- {
 16735  				encoded, err := options.Marshal(x.C[iNdEx])
 16736  				if err != nil {
 16737  					return protoiface.MarshalOutput{
 16738  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16739  						Buf:               input.Buf,
 16740  					}, err
 16741  				}
 16742  				i -= len(encoded)
 16743  				copy(dAtA[i:], encoded)
 16744  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16745  				i--
 16746  				dAtA[i] = 0x22
 16747  			}
 16748  		}
 16749  		if x.B != nil {
 16750  			encoded, err := options.Marshal(x.B)
 16751  			if err != nil {
 16752  				return protoiface.MarshalOutput{
 16753  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16754  					Buf:               input.Buf,
 16755  				}, err
 16756  			}
 16757  			i -= len(encoded)
 16758  			copy(dAtA[i:], encoded)
 16759  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16760  			i--
 16761  			dAtA[i] = 0x1a
 16762  		}
 16763  		if x.A != nil {
 16764  			encoded, err := options.Marshal(x.A)
 16765  			if err != nil {
 16766  				return protoiface.MarshalOutput{
 16767  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16768  					Buf:               input.Buf,
 16769  				}, err
 16770  			}
 16771  			i -= len(encoded)
 16772  			copy(dAtA[i:], encoded)
 16773  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 16774  			i--
 16775  			dAtA[i] = 0x12
 16776  		}
 16777  		if x.X != 0 {
 16778  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 16779  			i--
 16780  			dAtA[i] = 0x8
 16781  		}
 16782  		if input.Buf != nil {
 16783  			input.Buf = append(input.Buf, dAtA...)
 16784  		} else {
 16785  			input.Buf = dAtA
 16786  		}
 16787  		return protoiface.MarshalOutput{
 16788  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16789  			Buf:               input.Buf,
 16790  		}, nil
 16791  	}
 16792  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 16793  		x := input.Message.Interface().(*TestVersion4LoneNesting)
 16794  		if x == nil {
 16795  			return protoiface.UnmarshalOutput{
 16796  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 16797  				Flags:             input.Flags,
 16798  			}, nil
 16799  		}
 16800  		options := runtime.UnmarshalInputToOptions(input)
 16801  		_ = options
 16802  		dAtA := input.Buf
 16803  		l := len(dAtA)
 16804  		iNdEx := 0
 16805  		for iNdEx < l {
 16806  			preIndex := iNdEx
 16807  			var wire uint64
 16808  			for shift := uint(0); ; shift += 7 {
 16809  				if shift >= 64 {
 16810  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16811  				}
 16812  				if iNdEx >= l {
 16813  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16814  				}
 16815  				b := dAtA[iNdEx]
 16816  				iNdEx++
 16817  				wire |= uint64(b&0x7F) << shift
 16818  				if b < 0x80 {
 16819  					break
 16820  				}
 16821  			}
 16822  			fieldNum := int32(wire >> 3)
 16823  			wireType := int(wire & 0x7)
 16824  			if wireType == 4 {
 16825  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting: wiretype end group for non-group")
 16826  			}
 16827  			if fieldNum <= 0 {
 16828  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting: illegal tag %d (wire type %d)", fieldNum, wire)
 16829  			}
 16830  			switch fieldNum {
 16831  			case 1:
 16832  				if wireType != 0 {
 16833  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 16834  				}
 16835  				x.X = 0
 16836  				for shift := uint(0); ; shift += 7 {
 16837  					if shift >= 64 {
 16838  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16839  					}
 16840  					if iNdEx >= l {
 16841  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16842  					}
 16843  					b := dAtA[iNdEx]
 16844  					iNdEx++
 16845  					x.X |= int64(b&0x7F) << shift
 16846  					if b < 0x80 {
 16847  						break
 16848  					}
 16849  				}
 16850  			case 2:
 16851  				if wireType != 2 {
 16852  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 16853  				}
 16854  				var msglen int
 16855  				for shift := uint(0); ; shift += 7 {
 16856  					if shift >= 64 {
 16857  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16858  					}
 16859  					if iNdEx >= l {
 16860  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16861  					}
 16862  					b := dAtA[iNdEx]
 16863  					iNdEx++
 16864  					msglen |= int(b&0x7F) << shift
 16865  					if b < 0x80 {
 16866  						break
 16867  					}
 16868  				}
 16869  				if msglen < 0 {
 16870  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16871  				}
 16872  				postIndex := iNdEx + msglen
 16873  				if postIndex < 0 {
 16874  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16875  				}
 16876  				if postIndex > l {
 16877  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16878  				}
 16879  				if x.A == nil {
 16880  					x.A = &TestVersion3{}
 16881  				}
 16882  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 16883  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 16884  				}
 16885  				iNdEx = postIndex
 16886  			case 3:
 16887  				if wireType != 2 {
 16888  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 16889  				}
 16890  				var msglen int
 16891  				for shift := uint(0); ; shift += 7 {
 16892  					if shift >= 64 {
 16893  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16894  					}
 16895  					if iNdEx >= l {
 16896  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16897  					}
 16898  					b := dAtA[iNdEx]
 16899  					iNdEx++
 16900  					msglen |= int(b&0x7F) << shift
 16901  					if b < 0x80 {
 16902  						break
 16903  					}
 16904  				}
 16905  				if msglen < 0 {
 16906  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16907  				}
 16908  				postIndex := iNdEx + msglen
 16909  				if postIndex < 0 {
 16910  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16911  				}
 16912  				if postIndex > l {
 16913  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16914  				}
 16915  				if x.B == nil {
 16916  					x.B = &TestVersion3{}
 16917  				}
 16918  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.B); err != nil {
 16919  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 16920  				}
 16921  				iNdEx = postIndex
 16922  			case 4:
 16923  				if wireType != 2 {
 16924  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 16925  				}
 16926  				var msglen int
 16927  				for shift := uint(0); ; shift += 7 {
 16928  					if shift >= 64 {
 16929  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16930  					}
 16931  					if iNdEx >= l {
 16932  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16933  					}
 16934  					b := dAtA[iNdEx]
 16935  					iNdEx++
 16936  					msglen |= int(b&0x7F) << shift
 16937  					if b < 0x80 {
 16938  						break
 16939  					}
 16940  				}
 16941  				if msglen < 0 {
 16942  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16943  				}
 16944  				postIndex := iNdEx + msglen
 16945  				if postIndex < 0 {
 16946  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16947  				}
 16948  				if postIndex > l {
 16949  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16950  				}
 16951  				x.C = append(x.C, &TestVersion3{})
 16952  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.C[len(x.C)-1]); err != nil {
 16953  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 16954  				}
 16955  				iNdEx = postIndex
 16956  			case 5:
 16957  				if wireType != 2 {
 16958  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 16959  				}
 16960  				var msglen int
 16961  				for shift := uint(0); ; shift += 7 {
 16962  					if shift >= 64 {
 16963  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16964  					}
 16965  					if iNdEx >= l {
 16966  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16967  					}
 16968  					b := dAtA[iNdEx]
 16969  					iNdEx++
 16970  					msglen |= int(b&0x7F) << shift
 16971  					if b < 0x80 {
 16972  						break
 16973  					}
 16974  				}
 16975  				if msglen < 0 {
 16976  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16977  				}
 16978  				postIndex := iNdEx + msglen
 16979  				if postIndex < 0 {
 16980  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 16981  				}
 16982  				if postIndex > l {
 16983  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 16984  				}
 16985  				x.D = append(x.D, &TestVersion3{})
 16986  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.D[len(x.D)-1]); err != nil {
 16987  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 16988  				}
 16989  				iNdEx = postIndex
 16990  			case 7:
 16991  				if wireType != 2 {
 16992  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 16993  				}
 16994  				var msglen int
 16995  				for shift := uint(0); ; shift += 7 {
 16996  					if shift >= 64 {
 16997  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 16998  					}
 16999  					if iNdEx >= l {
 17000  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17001  					}
 17002  					b := dAtA[iNdEx]
 17003  					iNdEx++
 17004  					msglen |= int(b&0x7F) << shift
 17005  					if b < 0x80 {
 17006  						break
 17007  					}
 17008  				}
 17009  				if msglen < 0 {
 17010  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17011  				}
 17012  				postIndex := iNdEx + msglen
 17013  				if postIndex < 0 {
 17014  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17015  				}
 17016  				if postIndex > l {
 17017  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17018  				}
 17019  				v := &TestVersion3LoneNesting{}
 17020  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 17021  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17022  				}
 17023  				x.Sum = &TestVersion4LoneNesting_F{v}
 17024  				iNdEx = postIndex
 17025  			case 8:
 17026  				if wireType != 2 {
 17027  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 17028  				}
 17029  				var msglen int
 17030  				for shift := uint(0); ; shift += 7 {
 17031  					if shift >= 64 {
 17032  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17033  					}
 17034  					if iNdEx >= l {
 17035  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17036  					}
 17037  					b := dAtA[iNdEx]
 17038  					iNdEx++
 17039  					msglen |= int(b&0x7F) << shift
 17040  					if b < 0x80 {
 17041  						break
 17042  					}
 17043  				}
 17044  				if msglen < 0 {
 17045  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17046  				}
 17047  				postIndex := iNdEx + msglen
 17048  				if postIndex < 0 {
 17049  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17050  				}
 17051  				if postIndex > l {
 17052  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17053  				}
 17054  				if x.G == nil {
 17055  					x.G = &anypb.Any{}
 17056  				}
 17057  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 17058  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17059  				}
 17060  				iNdEx = postIndex
 17061  			case 9:
 17062  				if wireType != 2 {
 17063  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 17064  				}
 17065  				var msglen int
 17066  				for shift := uint(0); ; shift += 7 {
 17067  					if shift >= 64 {
 17068  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17069  					}
 17070  					if iNdEx >= l {
 17071  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17072  					}
 17073  					b := dAtA[iNdEx]
 17074  					iNdEx++
 17075  					msglen |= int(b&0x7F) << shift
 17076  					if b < 0x80 {
 17077  						break
 17078  					}
 17079  				}
 17080  				if msglen < 0 {
 17081  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17082  				}
 17083  				postIndex := iNdEx + msglen
 17084  				if postIndex < 0 {
 17085  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17086  				}
 17087  				if postIndex > l {
 17088  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17089  				}
 17090  				x.H = append(x.H, &TestVersion1{})
 17091  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 17092  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17093  				}
 17094  				iNdEx = postIndex
 17095  			case 12:
 17096  				if wireType != 2 {
 17097  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field K", wireType)
 17098  				}
 17099  				var msglen int
 17100  				for shift := uint(0); ; shift += 7 {
 17101  					if shift >= 64 {
 17102  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17103  					}
 17104  					if iNdEx >= l {
 17105  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17106  					}
 17107  					b := dAtA[iNdEx]
 17108  					iNdEx++
 17109  					msglen |= int(b&0x7F) << shift
 17110  					if b < 0x80 {
 17111  						break
 17112  					}
 17113  				}
 17114  				if msglen < 0 {
 17115  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17116  				}
 17117  				postIndex := iNdEx + msglen
 17118  				if postIndex < 0 {
 17119  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17120  				}
 17121  				if postIndex > l {
 17122  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17123  				}
 17124  				if x.K == nil {
 17125  					x.K = &Customer1{}
 17126  				}
 17127  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.K); err != nil {
 17128  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17129  				}
 17130  				iNdEx = postIndex
 17131  			case 1031:
 17132  				if wireType != 2 {
 17133  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 17134  				}
 17135  				var stringLen uint64
 17136  				for shift := uint(0); ; shift += 7 {
 17137  					if shift >= 64 {
 17138  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17139  					}
 17140  					if iNdEx >= l {
 17141  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17142  					}
 17143  					b := dAtA[iNdEx]
 17144  					iNdEx++
 17145  					stringLen |= uint64(b&0x7F) << shift
 17146  					if b < 0x80 {
 17147  						break
 17148  					}
 17149  				}
 17150  				intStringLen := int(stringLen)
 17151  				if intStringLen < 0 {
 17152  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17153  				}
 17154  				postIndex := iNdEx + intStringLen
 17155  				if postIndex < 0 {
 17156  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17157  				}
 17158  				if postIndex > l {
 17159  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17160  				}
 17161  				x.NonCriticalField = string(dAtA[iNdEx:postIndex])
 17162  				iNdEx = postIndex
 17163  			case 14:
 17164  				if wireType != 2 {
 17165  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner1", wireType)
 17166  				}
 17167  				var msglen int
 17168  				for shift := uint(0); ; shift += 7 {
 17169  					if shift >= 64 {
 17170  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17171  					}
 17172  					if iNdEx >= l {
 17173  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17174  					}
 17175  					b := dAtA[iNdEx]
 17176  					iNdEx++
 17177  					msglen |= int(b&0x7F) << shift
 17178  					if b < 0x80 {
 17179  						break
 17180  					}
 17181  				}
 17182  				if msglen < 0 {
 17183  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17184  				}
 17185  				postIndex := iNdEx + msglen
 17186  				if postIndex < 0 {
 17187  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17188  				}
 17189  				if postIndex > l {
 17190  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17191  				}
 17192  				if x.Inner1 == nil {
 17193  					x.Inner1 = &TestVersion4LoneNesting_Inner1{}
 17194  				}
 17195  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner1); err != nil {
 17196  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17197  				}
 17198  				iNdEx = postIndex
 17199  			case 15:
 17200  				if wireType != 2 {
 17201  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner2", wireType)
 17202  				}
 17203  				var msglen int
 17204  				for shift := uint(0); ; shift += 7 {
 17205  					if shift >= 64 {
 17206  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17207  					}
 17208  					if iNdEx >= l {
 17209  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17210  					}
 17211  					b := dAtA[iNdEx]
 17212  					iNdEx++
 17213  					msglen |= int(b&0x7F) << shift
 17214  					if b < 0x80 {
 17215  						break
 17216  					}
 17217  				}
 17218  				if msglen < 0 {
 17219  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17220  				}
 17221  				postIndex := iNdEx + msglen
 17222  				if postIndex < 0 {
 17223  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17224  				}
 17225  				if postIndex > l {
 17226  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17227  				}
 17228  				if x.Inner2 == nil {
 17229  					x.Inner2 = &TestVersion4LoneNesting_Inner2{}
 17230  				}
 17231  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner2); err != nil {
 17232  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17233  				}
 17234  				iNdEx = postIndex
 17235  			default:
 17236  				iNdEx = preIndex
 17237  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 17238  				if err != nil {
 17239  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17240  				}
 17241  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 17242  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17243  				}
 17244  				if (iNdEx + skippy) > l {
 17245  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17246  				}
 17247  				if !options.DiscardUnknown {
 17248  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 17249  				}
 17250  				iNdEx += skippy
 17251  			}
 17252  		}
 17253  
 17254  		if iNdEx > l {
 17255  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17256  		}
 17257  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 17258  	}
 17259  	return &protoiface.Methods{
 17260  		NoUnkeyedLiterals: struct{}{},
 17261  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 17262  		Size:              size,
 17263  		Marshal:           marshal,
 17264  		Unmarshal:         unmarshal,
 17265  		Merge:             nil,
 17266  		CheckInitialized:  nil,
 17267  	}
 17268  }
 17269  
 17270  var (
 17271  	md_TestVersion4LoneNesting_Inner1       protoreflect.MessageDescriptor
 17272  	fd_TestVersion4LoneNesting_Inner1_id    protoreflect.FieldDescriptor
 17273  	fd_TestVersion4LoneNesting_Inner1_name  protoreflect.FieldDescriptor
 17274  	fd_TestVersion4LoneNesting_Inner1_inner protoreflect.FieldDescriptor
 17275  )
 17276  
 17277  func init() {
 17278  	file_testpb_unknonwnproto_proto_init()
 17279  	md_TestVersion4LoneNesting_Inner1 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion4LoneNesting").Messages().ByName("Inner1")
 17280  	fd_TestVersion4LoneNesting_Inner1_id = md_TestVersion4LoneNesting_Inner1.Fields().ByName("id")
 17281  	fd_TestVersion4LoneNesting_Inner1_name = md_TestVersion4LoneNesting_Inner1.Fields().ByName("name")
 17282  	fd_TestVersion4LoneNesting_Inner1_inner = md_TestVersion4LoneNesting_Inner1.Fields().ByName("inner")
 17283  }
 17284  
 17285  var _ protoreflect.Message = (*fastReflection_TestVersion4LoneNesting_Inner1)(nil)
 17286  
 17287  type fastReflection_TestVersion4LoneNesting_Inner1 TestVersion4LoneNesting_Inner1
 17288  
 17289  func (x *TestVersion4LoneNesting_Inner1) ProtoReflect() protoreflect.Message {
 17290  	return (*fastReflection_TestVersion4LoneNesting_Inner1)(x)
 17291  }
 17292  
 17293  func (x *TestVersion4LoneNesting_Inner1) slowProtoReflect() protoreflect.Message {
 17294  	mi := &file_testpb_unknonwnproto_proto_msgTypes[29]
 17295  	if protoimpl.UnsafeEnabled && x != nil {
 17296  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 17297  		if ms.LoadMessageInfo() == nil {
 17298  			ms.StoreMessageInfo(mi)
 17299  		}
 17300  		return ms
 17301  	}
 17302  	return mi.MessageOf(x)
 17303  }
 17304  
 17305  var _fastReflection_TestVersion4LoneNesting_Inner1_messageType fastReflection_TestVersion4LoneNesting_Inner1_messageType
 17306  var _ protoreflect.MessageType = fastReflection_TestVersion4LoneNesting_Inner1_messageType{}
 17307  
 17308  type fastReflection_TestVersion4LoneNesting_Inner1_messageType struct{}
 17309  
 17310  func (x fastReflection_TestVersion4LoneNesting_Inner1_messageType) Zero() protoreflect.Message {
 17311  	return (*fastReflection_TestVersion4LoneNesting_Inner1)(nil)
 17312  }
 17313  func (x fastReflection_TestVersion4LoneNesting_Inner1_messageType) New() protoreflect.Message {
 17314  	return new(fastReflection_TestVersion4LoneNesting_Inner1)
 17315  }
 17316  func (x fastReflection_TestVersion4LoneNesting_Inner1_messageType) Descriptor() protoreflect.MessageDescriptor {
 17317  	return md_TestVersion4LoneNesting_Inner1
 17318  }
 17319  
 17320  // Descriptor returns message descriptor, which contains only the protobuf
 17321  // type information for the message.
 17322  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Descriptor() protoreflect.MessageDescriptor {
 17323  	return md_TestVersion4LoneNesting_Inner1
 17324  }
 17325  
 17326  // Type returns the message type, which encapsulates both Go and protobuf
 17327  // type information. If the Go type information is not needed,
 17328  // it is recommended that the message descriptor be used instead.
 17329  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Type() protoreflect.MessageType {
 17330  	return _fastReflection_TestVersion4LoneNesting_Inner1_messageType
 17331  }
 17332  
 17333  // New returns a newly allocated and mutable empty message.
 17334  func (x *fastReflection_TestVersion4LoneNesting_Inner1) New() protoreflect.Message {
 17335  	return new(fastReflection_TestVersion4LoneNesting_Inner1)
 17336  }
 17337  
 17338  // Interface unwraps the message reflection interface and
 17339  // returns the underlying ProtoMessage interface.
 17340  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Interface() protoreflect.ProtoMessage {
 17341  	return (*TestVersion4LoneNesting_Inner1)(x)
 17342  }
 17343  
 17344  // Range iterates over every populated field in an undefined order,
 17345  // calling f for each field descriptor and value encountered.
 17346  // Range returns immediately if f returns false.
 17347  // While iterating, mutating operations may only be performed
 17348  // on the current field descriptor.
 17349  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 17350  	if x.Id != int64(0) {
 17351  		value := protoreflect.ValueOfInt64(x.Id)
 17352  		if !f(fd_TestVersion4LoneNesting_Inner1_id, value) {
 17353  			return
 17354  		}
 17355  	}
 17356  	if x.Name != "" {
 17357  		value := protoreflect.ValueOfString(x.Name)
 17358  		if !f(fd_TestVersion4LoneNesting_Inner1_name, value) {
 17359  			return
 17360  		}
 17361  	}
 17362  	if x.Inner != nil {
 17363  		value := protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 17364  		if !f(fd_TestVersion4LoneNesting_Inner1_inner, value) {
 17365  			return
 17366  		}
 17367  	}
 17368  }
 17369  
 17370  // Has reports whether a field is populated.
 17371  //
 17372  // Some fields have the property of nullability where it is possible to
 17373  // distinguish between the default value of a field and whether the field
 17374  // was explicitly populated with the default value. Singular message fields,
 17375  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 17376  // fields are populated only if explicitly set.
 17377  //
 17378  // In other cases (aside from the nullable cases above),
 17379  // a proto3 scalar field is populated if it contains a non-zero value, and
 17380  // a repeated field is populated if it is non-empty.
 17381  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Has(fd protoreflect.FieldDescriptor) bool {
 17382  	switch fd.FullName() {
 17383  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17384  		return x.Id != int64(0)
 17385  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17386  		return x.Name != ""
 17387  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17388  		return x.Inner != nil
 17389  	default:
 17390  		if fd.IsExtension() {
 17391  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17392  		}
 17393  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 17394  	}
 17395  }
 17396  
 17397  // Clear clears the field such that a subsequent Has call reports false.
 17398  //
 17399  // Clearing an extension field clears both the extension type and value
 17400  // associated with the given field number.
 17401  //
 17402  // Clear is a mutating operation and unsafe for concurrent use.
 17403  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Clear(fd protoreflect.FieldDescriptor) {
 17404  	switch fd.FullName() {
 17405  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17406  		x.Id = int64(0)
 17407  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17408  		x.Name = ""
 17409  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17410  		x.Inner = nil
 17411  	default:
 17412  		if fd.IsExtension() {
 17413  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17414  		}
 17415  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 17416  	}
 17417  }
 17418  
 17419  // Get retrieves the value for a field.
 17420  //
 17421  // For unpopulated scalars, it returns the default value, where
 17422  // the default value of a bytes scalar is guaranteed to be a copy.
 17423  // For unpopulated composite types, it returns an empty, read-only view
 17424  // of the value; to obtain a mutable reference, use Mutable.
 17425  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 17426  	switch descriptor.FullName() {
 17427  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17428  		value := x.Id
 17429  		return protoreflect.ValueOfInt64(value)
 17430  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17431  		value := x.Name
 17432  		return protoreflect.ValueOfString(value)
 17433  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17434  		value := x.Inner
 17435  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 17436  	default:
 17437  		if descriptor.IsExtension() {
 17438  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17439  		}
 17440  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", descriptor.FullName()))
 17441  	}
 17442  }
 17443  
 17444  // Set stores the value for a field.
 17445  //
 17446  // For a field belonging to a oneof, it implicitly clears any other field
 17447  // that may be currently set within the same oneof.
 17448  // For extension fields, it implicitly stores the provided ExtensionType.
 17449  // When setting a composite type, it is unspecified whether the stored value
 17450  // aliases the source's memory in any way. If the composite value is an
 17451  // empty, read-only value, then it panics.
 17452  //
 17453  // Set is a mutating operation and unsafe for concurrent use.
 17454  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 17455  	switch fd.FullName() {
 17456  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17457  		x.Id = value.Int()
 17458  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17459  		x.Name = value.Interface().(string)
 17460  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17461  		x.Inner = value.Message().Interface().(*TestVersion4LoneNesting_Inner1_InnerInner)
 17462  	default:
 17463  		if fd.IsExtension() {
 17464  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17465  		}
 17466  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 17467  	}
 17468  }
 17469  
 17470  // Mutable returns a mutable reference to a composite type.
 17471  //
 17472  // If the field is unpopulated, it may allocate a composite value.
 17473  // For a field belonging to a oneof, it implicitly clears any other field
 17474  // that may be currently set within the same oneof.
 17475  // For extension fields, it implicitly stores the provided ExtensionType
 17476  // if not already stored.
 17477  // It panics if the field does not contain a composite type.
 17478  //
 17479  // Mutable is a mutating operation and unsafe for concurrent use.
 17480  func (x *fastReflection_TestVersion4LoneNesting_Inner1) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 17481  	switch fd.FullName() {
 17482  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17483  		if x.Inner == nil {
 17484  			x.Inner = new(TestVersion4LoneNesting_Inner1_InnerInner)
 17485  		}
 17486  		return protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 17487  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17488  		panic(fmt.Errorf("field id of message testpb.TestVersion4LoneNesting.Inner1 is not mutable"))
 17489  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17490  		panic(fmt.Errorf("field name of message testpb.TestVersion4LoneNesting.Inner1 is not mutable"))
 17491  	default:
 17492  		if fd.IsExtension() {
 17493  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17494  		}
 17495  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 17496  	}
 17497  }
 17498  
 17499  // NewField returns a new value that is assignable to the field
 17500  // for the given descriptor. For scalars, this returns the default value.
 17501  // For lists, maps, and messages, this returns a new, empty, mutable value.
 17502  func (x *fastReflection_TestVersion4LoneNesting_Inner1) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 17503  	switch fd.FullName() {
 17504  	case "testpb.TestVersion4LoneNesting.Inner1.id":
 17505  		return protoreflect.ValueOfInt64(int64(0))
 17506  	case "testpb.TestVersion4LoneNesting.Inner1.name":
 17507  		return protoreflect.ValueOfString("")
 17508  	case "testpb.TestVersion4LoneNesting.Inner1.inner":
 17509  		m := new(TestVersion4LoneNesting_Inner1_InnerInner)
 17510  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 17511  	default:
 17512  		if fd.IsExtension() {
 17513  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1"))
 17514  		}
 17515  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1 does not contain field %s", fd.FullName()))
 17516  	}
 17517  }
 17518  
 17519  // WhichOneof reports which field within the oneof is populated,
 17520  // returning nil if none are populated.
 17521  // It panics if the oneof descriptor does not belong to this message.
 17522  func (x *fastReflection_TestVersion4LoneNesting_Inner1) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 17523  	switch d.FullName() {
 17524  	default:
 17525  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion4LoneNesting.Inner1", d.FullName()))
 17526  	}
 17527  	panic("unreachable")
 17528  }
 17529  
 17530  // GetUnknown retrieves the entire list of unknown fields.
 17531  // The caller may only mutate the contents of the RawFields
 17532  // if the mutated bytes are stored back into the message with SetUnknown.
 17533  func (x *fastReflection_TestVersion4LoneNesting_Inner1) GetUnknown() protoreflect.RawFields {
 17534  	return x.unknownFields
 17535  }
 17536  
 17537  // SetUnknown stores an entire list of unknown fields.
 17538  // The raw fields must be syntactically valid according to the wire format.
 17539  // An implementation may panic if this is not the case.
 17540  // Once stored, the caller must not mutate the content of the RawFields.
 17541  // An empty RawFields may be passed to clear the fields.
 17542  //
 17543  // SetUnknown is a mutating operation and unsafe for concurrent use.
 17544  func (x *fastReflection_TestVersion4LoneNesting_Inner1) SetUnknown(fields protoreflect.RawFields) {
 17545  	x.unknownFields = fields
 17546  }
 17547  
 17548  // IsValid reports whether the message is valid.
 17549  //
 17550  // An invalid message is an empty, read-only value.
 17551  //
 17552  // An invalid message often corresponds to a nil pointer of the concrete
 17553  // message type, but the details are implementation dependent.
 17554  // Validity is not part of the protobuf data model, and may not
 17555  // be preserved in marshaling or other operations.
 17556  func (x *fastReflection_TestVersion4LoneNesting_Inner1) IsValid() bool {
 17557  	return x != nil
 17558  }
 17559  
 17560  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 17561  // This method may return nil.
 17562  //
 17563  // The returned methods type is identical to
 17564  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 17565  // Consult the protoiface package documentation for details.
 17566  func (x *fastReflection_TestVersion4LoneNesting_Inner1) ProtoMethods() *protoiface.Methods {
 17567  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 17568  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1)
 17569  		if x == nil {
 17570  			return protoiface.SizeOutput{
 17571  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17572  				Size:              0,
 17573  			}
 17574  		}
 17575  		options := runtime.SizeInputToOptions(input)
 17576  		_ = options
 17577  		var n int
 17578  		var l int
 17579  		_ = l
 17580  		if x.Id != 0 {
 17581  			n += 1 + runtime.Sov(uint64(x.Id))
 17582  		}
 17583  		l = len(x.Name)
 17584  		if l > 0 {
 17585  			n += 1 + l + runtime.Sov(uint64(l))
 17586  		}
 17587  		if x.Inner != nil {
 17588  			l = options.Size(x.Inner)
 17589  			n += 1 + l + runtime.Sov(uint64(l))
 17590  		}
 17591  		if x.unknownFields != nil {
 17592  			n += len(x.unknownFields)
 17593  		}
 17594  		return protoiface.SizeOutput{
 17595  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17596  			Size:              n,
 17597  		}
 17598  	}
 17599  
 17600  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 17601  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1)
 17602  		if x == nil {
 17603  			return protoiface.MarshalOutput{
 17604  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17605  				Buf:               input.Buf,
 17606  			}, nil
 17607  		}
 17608  		options := runtime.MarshalInputToOptions(input)
 17609  		_ = options
 17610  		size := options.Size(x)
 17611  		dAtA := make([]byte, size)
 17612  		i := len(dAtA)
 17613  		_ = i
 17614  		var l int
 17615  		_ = l
 17616  		if x.unknownFields != nil {
 17617  			i -= len(x.unknownFields)
 17618  			copy(dAtA[i:], x.unknownFields)
 17619  		}
 17620  		if x.Inner != nil {
 17621  			encoded, err := options.Marshal(x.Inner)
 17622  			if err != nil {
 17623  				return protoiface.MarshalOutput{
 17624  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17625  					Buf:               input.Buf,
 17626  				}, err
 17627  			}
 17628  			i -= len(encoded)
 17629  			copy(dAtA[i:], encoded)
 17630  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 17631  			i--
 17632  			dAtA[i] = 0x1a
 17633  		}
 17634  		if len(x.Name) > 0 {
 17635  			i -= len(x.Name)
 17636  			copy(dAtA[i:], x.Name)
 17637  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
 17638  			i--
 17639  			dAtA[i] = 0x12
 17640  		}
 17641  		if x.Id != 0 {
 17642  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
 17643  			i--
 17644  			dAtA[i] = 0x8
 17645  		}
 17646  		if input.Buf != nil {
 17647  			input.Buf = append(input.Buf, dAtA...)
 17648  		} else {
 17649  			input.Buf = dAtA
 17650  		}
 17651  		return protoiface.MarshalOutput{
 17652  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17653  			Buf:               input.Buf,
 17654  		}, nil
 17655  	}
 17656  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 17657  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1)
 17658  		if x == nil {
 17659  			return protoiface.UnmarshalOutput{
 17660  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 17661  				Flags:             input.Flags,
 17662  			}, nil
 17663  		}
 17664  		options := runtime.UnmarshalInputToOptions(input)
 17665  		_ = options
 17666  		dAtA := input.Buf
 17667  		l := len(dAtA)
 17668  		iNdEx := 0
 17669  		for iNdEx < l {
 17670  			preIndex := iNdEx
 17671  			var wire uint64
 17672  			for shift := uint(0); ; shift += 7 {
 17673  				if shift >= 64 {
 17674  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17675  				}
 17676  				if iNdEx >= l {
 17677  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17678  				}
 17679  				b := dAtA[iNdEx]
 17680  				iNdEx++
 17681  				wire |= uint64(b&0x7F) << shift
 17682  				if b < 0x80 {
 17683  					break
 17684  				}
 17685  			}
 17686  			fieldNum := int32(wire >> 3)
 17687  			wireType := int(wire & 0x7)
 17688  			if wireType == 4 {
 17689  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner1: wiretype end group for non-group")
 17690  			}
 17691  			if fieldNum <= 0 {
 17692  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner1: illegal tag %d (wire type %d)", fieldNum, wire)
 17693  			}
 17694  			switch fieldNum {
 17695  			case 1:
 17696  				if wireType != 0 {
 17697  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 17698  				}
 17699  				x.Id = 0
 17700  				for shift := uint(0); ; shift += 7 {
 17701  					if shift >= 64 {
 17702  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17703  					}
 17704  					if iNdEx >= l {
 17705  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17706  					}
 17707  					b := dAtA[iNdEx]
 17708  					iNdEx++
 17709  					x.Id |= int64(b&0x7F) << shift
 17710  					if b < 0x80 {
 17711  						break
 17712  					}
 17713  				}
 17714  			case 2:
 17715  				if wireType != 2 {
 17716  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
 17717  				}
 17718  				var stringLen uint64
 17719  				for shift := uint(0); ; shift += 7 {
 17720  					if shift >= 64 {
 17721  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17722  					}
 17723  					if iNdEx >= l {
 17724  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17725  					}
 17726  					b := dAtA[iNdEx]
 17727  					iNdEx++
 17728  					stringLen |= uint64(b&0x7F) << shift
 17729  					if b < 0x80 {
 17730  						break
 17731  					}
 17732  				}
 17733  				intStringLen := int(stringLen)
 17734  				if intStringLen < 0 {
 17735  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17736  				}
 17737  				postIndex := iNdEx + intStringLen
 17738  				if postIndex < 0 {
 17739  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17740  				}
 17741  				if postIndex > l {
 17742  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17743  				}
 17744  				x.Name = string(dAtA[iNdEx:postIndex])
 17745  				iNdEx = postIndex
 17746  			case 3:
 17747  				if wireType != 2 {
 17748  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 17749  				}
 17750  				var msglen int
 17751  				for shift := uint(0); ; shift += 7 {
 17752  					if shift >= 64 {
 17753  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 17754  					}
 17755  					if iNdEx >= l {
 17756  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17757  					}
 17758  					b := dAtA[iNdEx]
 17759  					iNdEx++
 17760  					msglen |= int(b&0x7F) << shift
 17761  					if b < 0x80 {
 17762  						break
 17763  					}
 17764  				}
 17765  				if msglen < 0 {
 17766  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17767  				}
 17768  				postIndex := iNdEx + msglen
 17769  				if postIndex < 0 {
 17770  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17771  				}
 17772  				if postIndex > l {
 17773  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17774  				}
 17775  				if x.Inner == nil {
 17776  					x.Inner = &TestVersion4LoneNesting_Inner1_InnerInner{}
 17777  				}
 17778  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner); err != nil {
 17779  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17780  				}
 17781  				iNdEx = postIndex
 17782  			default:
 17783  				iNdEx = preIndex
 17784  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 17785  				if err != nil {
 17786  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 17787  				}
 17788  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 17789  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 17790  				}
 17791  				if (iNdEx + skippy) > l {
 17792  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17793  				}
 17794  				if !options.DiscardUnknown {
 17795  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 17796  				}
 17797  				iNdEx += skippy
 17798  			}
 17799  		}
 17800  
 17801  		if iNdEx > l {
 17802  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 17803  		}
 17804  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 17805  	}
 17806  	return &protoiface.Methods{
 17807  		NoUnkeyedLiterals: struct{}{},
 17808  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 17809  		Size:              size,
 17810  		Marshal:           marshal,
 17811  		Unmarshal:         unmarshal,
 17812  		Merge:             nil,
 17813  		CheckInitialized:  nil,
 17814  	}
 17815  }
 17816  
 17817  var (
 17818  	md_TestVersion4LoneNesting_Inner1_InnerInner      protoreflect.MessageDescriptor
 17819  	fd_TestVersion4LoneNesting_Inner1_InnerInner_id   protoreflect.FieldDescriptor
 17820  	fd_TestVersion4LoneNesting_Inner1_InnerInner_city protoreflect.FieldDescriptor
 17821  )
 17822  
 17823  func init() {
 17824  	file_testpb_unknonwnproto_proto_init()
 17825  	md_TestVersion4LoneNesting_Inner1_InnerInner = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion4LoneNesting").Messages().ByName("Inner1").Messages().ByName("InnerInner")
 17826  	fd_TestVersion4LoneNesting_Inner1_InnerInner_id = md_TestVersion4LoneNesting_Inner1_InnerInner.Fields().ByName("id")
 17827  	fd_TestVersion4LoneNesting_Inner1_InnerInner_city = md_TestVersion4LoneNesting_Inner1_InnerInner.Fields().ByName("city")
 17828  }
 17829  
 17830  var _ protoreflect.Message = (*fastReflection_TestVersion4LoneNesting_Inner1_InnerInner)(nil)
 17831  
 17832  type fastReflection_TestVersion4LoneNesting_Inner1_InnerInner TestVersion4LoneNesting_Inner1_InnerInner
 17833  
 17834  func (x *TestVersion4LoneNesting_Inner1_InnerInner) ProtoReflect() protoreflect.Message {
 17835  	return (*fastReflection_TestVersion4LoneNesting_Inner1_InnerInner)(x)
 17836  }
 17837  
 17838  func (x *TestVersion4LoneNesting_Inner1_InnerInner) slowProtoReflect() protoreflect.Message {
 17839  	mi := &file_testpb_unknonwnproto_proto_msgTypes[31]
 17840  	if protoimpl.UnsafeEnabled && x != nil {
 17841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 17842  		if ms.LoadMessageInfo() == nil {
 17843  			ms.StoreMessageInfo(mi)
 17844  		}
 17845  		return ms
 17846  	}
 17847  	return mi.MessageOf(x)
 17848  }
 17849  
 17850  var _fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType
 17851  var _ protoreflect.MessageType = fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType{}
 17852  
 17853  type fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType struct{}
 17854  
 17855  func (x fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType) Zero() protoreflect.Message {
 17856  	return (*fastReflection_TestVersion4LoneNesting_Inner1_InnerInner)(nil)
 17857  }
 17858  func (x fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType) New() protoreflect.Message {
 17859  	return new(fastReflection_TestVersion4LoneNesting_Inner1_InnerInner)
 17860  }
 17861  func (x fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType) Descriptor() protoreflect.MessageDescriptor {
 17862  	return md_TestVersion4LoneNesting_Inner1_InnerInner
 17863  }
 17864  
 17865  // Descriptor returns message descriptor, which contains only the protobuf
 17866  // type information for the message.
 17867  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Descriptor() protoreflect.MessageDescriptor {
 17868  	return md_TestVersion4LoneNesting_Inner1_InnerInner
 17869  }
 17870  
 17871  // Type returns the message type, which encapsulates both Go and protobuf
 17872  // type information. If the Go type information is not needed,
 17873  // it is recommended that the message descriptor be used instead.
 17874  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Type() protoreflect.MessageType {
 17875  	return _fastReflection_TestVersion4LoneNesting_Inner1_InnerInner_messageType
 17876  }
 17877  
 17878  // New returns a newly allocated and mutable empty message.
 17879  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) New() protoreflect.Message {
 17880  	return new(fastReflection_TestVersion4LoneNesting_Inner1_InnerInner)
 17881  }
 17882  
 17883  // Interface unwraps the message reflection interface and
 17884  // returns the underlying ProtoMessage interface.
 17885  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Interface() protoreflect.ProtoMessage {
 17886  	return (*TestVersion4LoneNesting_Inner1_InnerInner)(x)
 17887  }
 17888  
 17889  // Range iterates over every populated field in an undefined order,
 17890  // calling f for each field descriptor and value encountered.
 17891  // Range returns immediately if f returns false.
 17892  // While iterating, mutating operations may only be performed
 17893  // on the current field descriptor.
 17894  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 17895  	if x.Id != int64(0) {
 17896  		value := protoreflect.ValueOfInt64(x.Id)
 17897  		if !f(fd_TestVersion4LoneNesting_Inner1_InnerInner_id, value) {
 17898  			return
 17899  		}
 17900  	}
 17901  	if x.City != "" {
 17902  		value := protoreflect.ValueOfString(x.City)
 17903  		if !f(fd_TestVersion4LoneNesting_Inner1_InnerInner_city, value) {
 17904  			return
 17905  		}
 17906  	}
 17907  }
 17908  
 17909  // Has reports whether a field is populated.
 17910  //
 17911  // Some fields have the property of nullability where it is possible to
 17912  // distinguish between the default value of a field and whether the field
 17913  // was explicitly populated with the default value. Singular message fields,
 17914  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 17915  // fields are populated only if explicitly set.
 17916  //
 17917  // In other cases (aside from the nullable cases above),
 17918  // a proto3 scalar field is populated if it contains a non-zero value, and
 17919  // a repeated field is populated if it is non-empty.
 17920  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Has(fd protoreflect.FieldDescriptor) bool {
 17921  	switch fd.FullName() {
 17922  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 17923  		return x.Id != int64(0)
 17924  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 17925  		return x.City != ""
 17926  	default:
 17927  		if fd.IsExtension() {
 17928  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 17929  		}
 17930  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 17931  	}
 17932  }
 17933  
 17934  // Clear clears the field such that a subsequent Has call reports false.
 17935  //
 17936  // Clearing an extension field clears both the extension type and value
 17937  // associated with the given field number.
 17938  //
 17939  // Clear is a mutating operation and unsafe for concurrent use.
 17940  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Clear(fd protoreflect.FieldDescriptor) {
 17941  	switch fd.FullName() {
 17942  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 17943  		x.Id = int64(0)
 17944  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 17945  		x.City = ""
 17946  	default:
 17947  		if fd.IsExtension() {
 17948  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 17949  		}
 17950  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 17951  	}
 17952  }
 17953  
 17954  // Get retrieves the value for a field.
 17955  //
 17956  // For unpopulated scalars, it returns the default value, where
 17957  // the default value of a bytes scalar is guaranteed to be a copy.
 17958  // For unpopulated composite types, it returns an empty, read-only view
 17959  // of the value; to obtain a mutable reference, use Mutable.
 17960  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 17961  	switch descriptor.FullName() {
 17962  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 17963  		value := x.Id
 17964  		return protoreflect.ValueOfInt64(value)
 17965  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 17966  		value := x.City
 17967  		return protoreflect.ValueOfString(value)
 17968  	default:
 17969  		if descriptor.IsExtension() {
 17970  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 17971  		}
 17972  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", descriptor.FullName()))
 17973  	}
 17974  }
 17975  
 17976  // Set stores the value for a field.
 17977  //
 17978  // For a field belonging to a oneof, it implicitly clears any other field
 17979  // that may be currently set within the same oneof.
 17980  // For extension fields, it implicitly stores the provided ExtensionType.
 17981  // When setting a composite type, it is unspecified whether the stored value
 17982  // aliases the source's memory in any way. If the composite value is an
 17983  // empty, read-only value, then it panics.
 17984  //
 17985  // Set is a mutating operation and unsafe for concurrent use.
 17986  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 17987  	switch fd.FullName() {
 17988  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 17989  		x.Id = value.Int()
 17990  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 17991  		x.City = value.Interface().(string)
 17992  	default:
 17993  		if fd.IsExtension() {
 17994  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 17995  		}
 17996  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 17997  	}
 17998  }
 17999  
 18000  // Mutable returns a mutable reference to a composite type.
 18001  //
 18002  // If the field is unpopulated, it may allocate a composite value.
 18003  // For a field belonging to a oneof, it implicitly clears any other field
 18004  // that may be currently set within the same oneof.
 18005  // For extension fields, it implicitly stores the provided ExtensionType
 18006  // if not already stored.
 18007  // It panics if the field does not contain a composite type.
 18008  //
 18009  // Mutable is a mutating operation and unsafe for concurrent use.
 18010  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 18011  	switch fd.FullName() {
 18012  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 18013  		panic(fmt.Errorf("field id of message testpb.TestVersion4LoneNesting.Inner1.InnerInner is not mutable"))
 18014  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 18015  		panic(fmt.Errorf("field city of message testpb.TestVersion4LoneNesting.Inner1.InnerInner is not mutable"))
 18016  	default:
 18017  		if fd.IsExtension() {
 18018  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 18019  		}
 18020  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 18021  	}
 18022  }
 18023  
 18024  // NewField returns a new value that is assignable to the field
 18025  // for the given descriptor. For scalars, this returns the default value.
 18026  // For lists, maps, and messages, this returns a new, empty, mutable value.
 18027  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 18028  	switch fd.FullName() {
 18029  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.id":
 18030  		return protoreflect.ValueOfInt64(int64(0))
 18031  	case "testpb.TestVersion4LoneNesting.Inner1.InnerInner.city":
 18032  		return protoreflect.ValueOfString("")
 18033  	default:
 18034  		if fd.IsExtension() {
 18035  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner1.InnerInner"))
 18036  		}
 18037  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner1.InnerInner does not contain field %s", fd.FullName()))
 18038  	}
 18039  }
 18040  
 18041  // WhichOneof reports which field within the oneof is populated,
 18042  // returning nil if none are populated.
 18043  // It panics if the oneof descriptor does not belong to this message.
 18044  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 18045  	switch d.FullName() {
 18046  	default:
 18047  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion4LoneNesting.Inner1.InnerInner", d.FullName()))
 18048  	}
 18049  	panic("unreachable")
 18050  }
 18051  
 18052  // GetUnknown retrieves the entire list of unknown fields.
 18053  // The caller may only mutate the contents of the RawFields
 18054  // if the mutated bytes are stored back into the message with SetUnknown.
 18055  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) GetUnknown() protoreflect.RawFields {
 18056  	return x.unknownFields
 18057  }
 18058  
 18059  // SetUnknown stores an entire list of unknown fields.
 18060  // The raw fields must be syntactically valid according to the wire format.
 18061  // An implementation may panic if this is not the case.
 18062  // Once stored, the caller must not mutate the content of the RawFields.
 18063  // An empty RawFields may be passed to clear the fields.
 18064  //
 18065  // SetUnknown is a mutating operation and unsafe for concurrent use.
 18066  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) SetUnknown(fields protoreflect.RawFields) {
 18067  	x.unknownFields = fields
 18068  }
 18069  
 18070  // IsValid reports whether the message is valid.
 18071  //
 18072  // An invalid message is an empty, read-only value.
 18073  //
 18074  // An invalid message often corresponds to a nil pointer of the concrete
 18075  // message type, but the details are implementation dependent.
 18076  // Validity is not part of the protobuf data model, and may not
 18077  // be preserved in marshaling or other operations.
 18078  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) IsValid() bool {
 18079  	return x != nil
 18080  }
 18081  
 18082  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 18083  // This method may return nil.
 18084  //
 18085  // The returned methods type is identical to
 18086  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 18087  // Consult the protoiface package documentation for details.
 18088  func (x *fastReflection_TestVersion4LoneNesting_Inner1_InnerInner) ProtoMethods() *protoiface.Methods {
 18089  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 18090  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1_InnerInner)
 18091  		if x == nil {
 18092  			return protoiface.SizeOutput{
 18093  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18094  				Size:              0,
 18095  			}
 18096  		}
 18097  		options := runtime.SizeInputToOptions(input)
 18098  		_ = options
 18099  		var n int
 18100  		var l int
 18101  		_ = l
 18102  		if x.Id != 0 {
 18103  			n += 1 + runtime.Sov(uint64(x.Id))
 18104  		}
 18105  		l = len(x.City)
 18106  		if l > 0 {
 18107  			n += 1 + l + runtime.Sov(uint64(l))
 18108  		}
 18109  		if x.unknownFields != nil {
 18110  			n += len(x.unknownFields)
 18111  		}
 18112  		return protoiface.SizeOutput{
 18113  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18114  			Size:              n,
 18115  		}
 18116  	}
 18117  
 18118  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 18119  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1_InnerInner)
 18120  		if x == nil {
 18121  			return protoiface.MarshalOutput{
 18122  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18123  				Buf:               input.Buf,
 18124  			}, nil
 18125  		}
 18126  		options := runtime.MarshalInputToOptions(input)
 18127  		_ = options
 18128  		size := options.Size(x)
 18129  		dAtA := make([]byte, size)
 18130  		i := len(dAtA)
 18131  		_ = i
 18132  		var l int
 18133  		_ = l
 18134  		if x.unknownFields != nil {
 18135  			i -= len(x.unknownFields)
 18136  			copy(dAtA[i:], x.unknownFields)
 18137  		}
 18138  		if len(x.City) > 0 {
 18139  			i -= len(x.City)
 18140  			copy(dAtA[i:], x.City)
 18141  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.City)))
 18142  			i--
 18143  			dAtA[i] = 0x12
 18144  		}
 18145  		if x.Id != 0 {
 18146  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
 18147  			i--
 18148  			dAtA[i] = 0x8
 18149  		}
 18150  		if input.Buf != nil {
 18151  			input.Buf = append(input.Buf, dAtA...)
 18152  		} else {
 18153  			input.Buf = dAtA
 18154  		}
 18155  		return protoiface.MarshalOutput{
 18156  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18157  			Buf:               input.Buf,
 18158  		}, nil
 18159  	}
 18160  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 18161  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner1_InnerInner)
 18162  		if x == nil {
 18163  			return protoiface.UnmarshalOutput{
 18164  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18165  				Flags:             input.Flags,
 18166  			}, nil
 18167  		}
 18168  		options := runtime.UnmarshalInputToOptions(input)
 18169  		_ = options
 18170  		dAtA := input.Buf
 18171  		l := len(dAtA)
 18172  		iNdEx := 0
 18173  		for iNdEx < l {
 18174  			preIndex := iNdEx
 18175  			var wire uint64
 18176  			for shift := uint(0); ; shift += 7 {
 18177  				if shift >= 64 {
 18178  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18179  				}
 18180  				if iNdEx >= l {
 18181  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18182  				}
 18183  				b := dAtA[iNdEx]
 18184  				iNdEx++
 18185  				wire |= uint64(b&0x7F) << shift
 18186  				if b < 0x80 {
 18187  					break
 18188  				}
 18189  			}
 18190  			fieldNum := int32(wire >> 3)
 18191  			wireType := int(wire & 0x7)
 18192  			if wireType == 4 {
 18193  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner1_InnerInner: wiretype end group for non-group")
 18194  			}
 18195  			if fieldNum <= 0 {
 18196  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner1_InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 18197  			}
 18198  			switch fieldNum {
 18199  			case 1:
 18200  				if wireType != 0 {
 18201  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 18202  				}
 18203  				x.Id = 0
 18204  				for shift := uint(0); ; shift += 7 {
 18205  					if shift >= 64 {
 18206  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18207  					}
 18208  					if iNdEx >= l {
 18209  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18210  					}
 18211  					b := dAtA[iNdEx]
 18212  					iNdEx++
 18213  					x.Id |= int64(b&0x7F) << shift
 18214  					if b < 0x80 {
 18215  						break
 18216  					}
 18217  				}
 18218  			case 2:
 18219  				if wireType != 2 {
 18220  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 18221  				}
 18222  				var stringLen uint64
 18223  				for shift := uint(0); ; shift += 7 {
 18224  					if shift >= 64 {
 18225  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18226  					}
 18227  					if iNdEx >= l {
 18228  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18229  					}
 18230  					b := dAtA[iNdEx]
 18231  					iNdEx++
 18232  					stringLen |= uint64(b&0x7F) << shift
 18233  					if b < 0x80 {
 18234  						break
 18235  					}
 18236  				}
 18237  				intStringLen := int(stringLen)
 18238  				if intStringLen < 0 {
 18239  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18240  				}
 18241  				postIndex := iNdEx + intStringLen
 18242  				if postIndex < 0 {
 18243  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18244  				}
 18245  				if postIndex > l {
 18246  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18247  				}
 18248  				x.City = string(dAtA[iNdEx:postIndex])
 18249  				iNdEx = postIndex
 18250  			default:
 18251  				iNdEx = preIndex
 18252  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 18253  				if err != nil {
 18254  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 18255  				}
 18256  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 18257  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18258  				}
 18259  				if (iNdEx + skippy) > l {
 18260  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18261  				}
 18262  				if !options.DiscardUnknown {
 18263  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 18264  				}
 18265  				iNdEx += skippy
 18266  			}
 18267  		}
 18268  
 18269  		if iNdEx > l {
 18270  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18271  		}
 18272  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 18273  	}
 18274  	return &protoiface.Methods{
 18275  		NoUnkeyedLiterals: struct{}{},
 18276  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 18277  		Size:              size,
 18278  		Marshal:           marshal,
 18279  		Unmarshal:         unmarshal,
 18280  		Merge:             nil,
 18281  		CheckInitialized:  nil,
 18282  	}
 18283  }
 18284  
 18285  var (
 18286  	md_TestVersion4LoneNesting_Inner2         protoreflect.MessageDescriptor
 18287  	fd_TestVersion4LoneNesting_Inner2_id      protoreflect.FieldDescriptor
 18288  	fd_TestVersion4LoneNesting_Inner2_country protoreflect.FieldDescriptor
 18289  	fd_TestVersion4LoneNesting_Inner2_inner   protoreflect.FieldDescriptor
 18290  )
 18291  
 18292  func init() {
 18293  	file_testpb_unknonwnproto_proto_init()
 18294  	md_TestVersion4LoneNesting_Inner2 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion4LoneNesting").Messages().ByName("Inner2")
 18295  	fd_TestVersion4LoneNesting_Inner2_id = md_TestVersion4LoneNesting_Inner2.Fields().ByName("id")
 18296  	fd_TestVersion4LoneNesting_Inner2_country = md_TestVersion4LoneNesting_Inner2.Fields().ByName("country")
 18297  	fd_TestVersion4LoneNesting_Inner2_inner = md_TestVersion4LoneNesting_Inner2.Fields().ByName("inner")
 18298  }
 18299  
 18300  var _ protoreflect.Message = (*fastReflection_TestVersion4LoneNesting_Inner2)(nil)
 18301  
 18302  type fastReflection_TestVersion4LoneNesting_Inner2 TestVersion4LoneNesting_Inner2
 18303  
 18304  func (x *TestVersion4LoneNesting_Inner2) ProtoReflect() protoreflect.Message {
 18305  	return (*fastReflection_TestVersion4LoneNesting_Inner2)(x)
 18306  }
 18307  
 18308  func (x *TestVersion4LoneNesting_Inner2) slowProtoReflect() protoreflect.Message {
 18309  	mi := &file_testpb_unknonwnproto_proto_msgTypes[30]
 18310  	if protoimpl.UnsafeEnabled && x != nil {
 18311  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 18312  		if ms.LoadMessageInfo() == nil {
 18313  			ms.StoreMessageInfo(mi)
 18314  		}
 18315  		return ms
 18316  	}
 18317  	return mi.MessageOf(x)
 18318  }
 18319  
 18320  var _fastReflection_TestVersion4LoneNesting_Inner2_messageType fastReflection_TestVersion4LoneNesting_Inner2_messageType
 18321  var _ protoreflect.MessageType = fastReflection_TestVersion4LoneNesting_Inner2_messageType{}
 18322  
 18323  type fastReflection_TestVersion4LoneNesting_Inner2_messageType struct{}
 18324  
 18325  func (x fastReflection_TestVersion4LoneNesting_Inner2_messageType) Zero() protoreflect.Message {
 18326  	return (*fastReflection_TestVersion4LoneNesting_Inner2)(nil)
 18327  }
 18328  func (x fastReflection_TestVersion4LoneNesting_Inner2_messageType) New() protoreflect.Message {
 18329  	return new(fastReflection_TestVersion4LoneNesting_Inner2)
 18330  }
 18331  func (x fastReflection_TestVersion4LoneNesting_Inner2_messageType) Descriptor() protoreflect.MessageDescriptor {
 18332  	return md_TestVersion4LoneNesting_Inner2
 18333  }
 18334  
 18335  // Descriptor returns message descriptor, which contains only the protobuf
 18336  // type information for the message.
 18337  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Descriptor() protoreflect.MessageDescriptor {
 18338  	return md_TestVersion4LoneNesting_Inner2
 18339  }
 18340  
 18341  // Type returns the message type, which encapsulates both Go and protobuf
 18342  // type information. If the Go type information is not needed,
 18343  // it is recommended that the message descriptor be used instead.
 18344  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Type() protoreflect.MessageType {
 18345  	return _fastReflection_TestVersion4LoneNesting_Inner2_messageType
 18346  }
 18347  
 18348  // New returns a newly allocated and mutable empty message.
 18349  func (x *fastReflection_TestVersion4LoneNesting_Inner2) New() protoreflect.Message {
 18350  	return new(fastReflection_TestVersion4LoneNesting_Inner2)
 18351  }
 18352  
 18353  // Interface unwraps the message reflection interface and
 18354  // returns the underlying ProtoMessage interface.
 18355  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Interface() protoreflect.ProtoMessage {
 18356  	return (*TestVersion4LoneNesting_Inner2)(x)
 18357  }
 18358  
 18359  // Range iterates over every populated field in an undefined order,
 18360  // calling f for each field descriptor and value encountered.
 18361  // Range returns immediately if f returns false.
 18362  // While iterating, mutating operations may only be performed
 18363  // on the current field descriptor.
 18364  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 18365  	if x.Id != "" {
 18366  		value := protoreflect.ValueOfString(x.Id)
 18367  		if !f(fd_TestVersion4LoneNesting_Inner2_id, value) {
 18368  			return
 18369  		}
 18370  	}
 18371  	if x.Country != "" {
 18372  		value := protoreflect.ValueOfString(x.Country)
 18373  		if !f(fd_TestVersion4LoneNesting_Inner2_country, value) {
 18374  			return
 18375  		}
 18376  	}
 18377  	if x.Inner != nil {
 18378  		value := protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 18379  		if !f(fd_TestVersion4LoneNesting_Inner2_inner, value) {
 18380  			return
 18381  		}
 18382  	}
 18383  }
 18384  
 18385  // Has reports whether a field is populated.
 18386  //
 18387  // Some fields have the property of nullability where it is possible to
 18388  // distinguish between the default value of a field and whether the field
 18389  // was explicitly populated with the default value. Singular message fields,
 18390  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 18391  // fields are populated only if explicitly set.
 18392  //
 18393  // In other cases (aside from the nullable cases above),
 18394  // a proto3 scalar field is populated if it contains a non-zero value, and
 18395  // a repeated field is populated if it is non-empty.
 18396  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Has(fd protoreflect.FieldDescriptor) bool {
 18397  	switch fd.FullName() {
 18398  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18399  		return x.Id != ""
 18400  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18401  		return x.Country != ""
 18402  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18403  		return x.Inner != nil
 18404  	default:
 18405  		if fd.IsExtension() {
 18406  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18407  		}
 18408  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 18409  	}
 18410  }
 18411  
 18412  // Clear clears the field such that a subsequent Has call reports false.
 18413  //
 18414  // Clearing an extension field clears both the extension type and value
 18415  // associated with the given field number.
 18416  //
 18417  // Clear is a mutating operation and unsafe for concurrent use.
 18418  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Clear(fd protoreflect.FieldDescriptor) {
 18419  	switch fd.FullName() {
 18420  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18421  		x.Id = ""
 18422  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18423  		x.Country = ""
 18424  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18425  		x.Inner = nil
 18426  	default:
 18427  		if fd.IsExtension() {
 18428  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18429  		}
 18430  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 18431  	}
 18432  }
 18433  
 18434  // Get retrieves the value for a field.
 18435  //
 18436  // For unpopulated scalars, it returns the default value, where
 18437  // the default value of a bytes scalar is guaranteed to be a copy.
 18438  // For unpopulated composite types, it returns an empty, read-only view
 18439  // of the value; to obtain a mutable reference, use Mutable.
 18440  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 18441  	switch descriptor.FullName() {
 18442  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18443  		value := x.Id
 18444  		return protoreflect.ValueOfString(value)
 18445  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18446  		value := x.Country
 18447  		return protoreflect.ValueOfString(value)
 18448  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18449  		value := x.Inner
 18450  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 18451  	default:
 18452  		if descriptor.IsExtension() {
 18453  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18454  		}
 18455  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", descriptor.FullName()))
 18456  	}
 18457  }
 18458  
 18459  // Set stores the value for a field.
 18460  //
 18461  // For a field belonging to a oneof, it implicitly clears any other field
 18462  // that may be currently set within the same oneof.
 18463  // For extension fields, it implicitly stores the provided ExtensionType.
 18464  // When setting a composite type, it is unspecified whether the stored value
 18465  // aliases the source's memory in any way. If the composite value is an
 18466  // empty, read-only value, then it panics.
 18467  //
 18468  // Set is a mutating operation and unsafe for concurrent use.
 18469  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 18470  	switch fd.FullName() {
 18471  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18472  		x.Id = value.Interface().(string)
 18473  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18474  		x.Country = value.Interface().(string)
 18475  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18476  		x.Inner = value.Message().Interface().(*TestVersion4LoneNesting_Inner2_InnerInner)
 18477  	default:
 18478  		if fd.IsExtension() {
 18479  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18480  		}
 18481  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 18482  	}
 18483  }
 18484  
 18485  // Mutable returns a mutable reference to a composite type.
 18486  //
 18487  // If the field is unpopulated, it may allocate a composite value.
 18488  // For a field belonging to a oneof, it implicitly clears any other field
 18489  // that may be currently set within the same oneof.
 18490  // For extension fields, it implicitly stores the provided ExtensionType
 18491  // if not already stored.
 18492  // It panics if the field does not contain a composite type.
 18493  //
 18494  // Mutable is a mutating operation and unsafe for concurrent use.
 18495  func (x *fastReflection_TestVersion4LoneNesting_Inner2) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 18496  	switch fd.FullName() {
 18497  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18498  		if x.Inner == nil {
 18499  			x.Inner = new(TestVersion4LoneNesting_Inner2_InnerInner)
 18500  		}
 18501  		return protoreflect.ValueOfMessage(x.Inner.ProtoReflect())
 18502  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18503  		panic(fmt.Errorf("field id of message testpb.TestVersion4LoneNesting.Inner2 is not mutable"))
 18504  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18505  		panic(fmt.Errorf("field country of message testpb.TestVersion4LoneNesting.Inner2 is not mutable"))
 18506  	default:
 18507  		if fd.IsExtension() {
 18508  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18509  		}
 18510  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 18511  	}
 18512  }
 18513  
 18514  // NewField returns a new value that is assignable to the field
 18515  // for the given descriptor. For scalars, this returns the default value.
 18516  // For lists, maps, and messages, this returns a new, empty, mutable value.
 18517  func (x *fastReflection_TestVersion4LoneNesting_Inner2) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 18518  	switch fd.FullName() {
 18519  	case "testpb.TestVersion4LoneNesting.Inner2.id":
 18520  		return protoreflect.ValueOfString("")
 18521  	case "testpb.TestVersion4LoneNesting.Inner2.country":
 18522  		return protoreflect.ValueOfString("")
 18523  	case "testpb.TestVersion4LoneNesting.Inner2.inner":
 18524  		m := new(TestVersion4LoneNesting_Inner2_InnerInner)
 18525  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 18526  	default:
 18527  		if fd.IsExtension() {
 18528  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2"))
 18529  		}
 18530  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2 does not contain field %s", fd.FullName()))
 18531  	}
 18532  }
 18533  
 18534  // WhichOneof reports which field within the oneof is populated,
 18535  // returning nil if none are populated.
 18536  // It panics if the oneof descriptor does not belong to this message.
 18537  func (x *fastReflection_TestVersion4LoneNesting_Inner2) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 18538  	switch d.FullName() {
 18539  	default:
 18540  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion4LoneNesting.Inner2", d.FullName()))
 18541  	}
 18542  	panic("unreachable")
 18543  }
 18544  
 18545  // GetUnknown retrieves the entire list of unknown fields.
 18546  // The caller may only mutate the contents of the RawFields
 18547  // if the mutated bytes are stored back into the message with SetUnknown.
 18548  func (x *fastReflection_TestVersion4LoneNesting_Inner2) GetUnknown() protoreflect.RawFields {
 18549  	return x.unknownFields
 18550  }
 18551  
 18552  // SetUnknown stores an entire list of unknown fields.
 18553  // The raw fields must be syntactically valid according to the wire format.
 18554  // An implementation may panic if this is not the case.
 18555  // Once stored, the caller must not mutate the content of the RawFields.
 18556  // An empty RawFields may be passed to clear the fields.
 18557  //
 18558  // SetUnknown is a mutating operation and unsafe for concurrent use.
 18559  func (x *fastReflection_TestVersion4LoneNesting_Inner2) SetUnknown(fields protoreflect.RawFields) {
 18560  	x.unknownFields = fields
 18561  }
 18562  
 18563  // IsValid reports whether the message is valid.
 18564  //
 18565  // An invalid message is an empty, read-only value.
 18566  //
 18567  // An invalid message often corresponds to a nil pointer of the concrete
 18568  // message type, but the details are implementation dependent.
 18569  // Validity is not part of the protobuf data model, and may not
 18570  // be preserved in marshaling or other operations.
 18571  func (x *fastReflection_TestVersion4LoneNesting_Inner2) IsValid() bool {
 18572  	return x != nil
 18573  }
 18574  
 18575  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 18576  // This method may return nil.
 18577  //
 18578  // The returned methods type is identical to
 18579  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 18580  // Consult the protoiface package documentation for details.
 18581  func (x *fastReflection_TestVersion4LoneNesting_Inner2) ProtoMethods() *protoiface.Methods {
 18582  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 18583  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2)
 18584  		if x == nil {
 18585  			return protoiface.SizeOutput{
 18586  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18587  				Size:              0,
 18588  			}
 18589  		}
 18590  		options := runtime.SizeInputToOptions(input)
 18591  		_ = options
 18592  		var n int
 18593  		var l int
 18594  		_ = l
 18595  		l = len(x.Id)
 18596  		if l > 0 {
 18597  			n += 1 + l + runtime.Sov(uint64(l))
 18598  		}
 18599  		l = len(x.Country)
 18600  		if l > 0 {
 18601  			n += 1 + l + runtime.Sov(uint64(l))
 18602  		}
 18603  		if x.Inner != nil {
 18604  			l = options.Size(x.Inner)
 18605  			n += 1 + l + runtime.Sov(uint64(l))
 18606  		}
 18607  		if x.unknownFields != nil {
 18608  			n += len(x.unknownFields)
 18609  		}
 18610  		return protoiface.SizeOutput{
 18611  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18612  			Size:              n,
 18613  		}
 18614  	}
 18615  
 18616  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 18617  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2)
 18618  		if x == nil {
 18619  			return protoiface.MarshalOutput{
 18620  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18621  				Buf:               input.Buf,
 18622  			}, nil
 18623  		}
 18624  		options := runtime.MarshalInputToOptions(input)
 18625  		_ = options
 18626  		size := options.Size(x)
 18627  		dAtA := make([]byte, size)
 18628  		i := len(dAtA)
 18629  		_ = i
 18630  		var l int
 18631  		_ = l
 18632  		if x.unknownFields != nil {
 18633  			i -= len(x.unknownFields)
 18634  			copy(dAtA[i:], x.unknownFields)
 18635  		}
 18636  		if x.Inner != nil {
 18637  			encoded, err := options.Marshal(x.Inner)
 18638  			if err != nil {
 18639  				return protoiface.MarshalOutput{
 18640  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18641  					Buf:               input.Buf,
 18642  				}, err
 18643  			}
 18644  			i -= len(encoded)
 18645  			copy(dAtA[i:], encoded)
 18646  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 18647  			i--
 18648  			dAtA[i] = 0x1a
 18649  		}
 18650  		if len(x.Country) > 0 {
 18651  			i -= len(x.Country)
 18652  			copy(dAtA[i:], x.Country)
 18653  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Country)))
 18654  			i--
 18655  			dAtA[i] = 0x12
 18656  		}
 18657  		if len(x.Id) > 0 {
 18658  			i -= len(x.Id)
 18659  			copy(dAtA[i:], x.Id)
 18660  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id)))
 18661  			i--
 18662  			dAtA[i] = 0xa
 18663  		}
 18664  		if input.Buf != nil {
 18665  			input.Buf = append(input.Buf, dAtA...)
 18666  		} else {
 18667  			input.Buf = dAtA
 18668  		}
 18669  		return protoiface.MarshalOutput{
 18670  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18671  			Buf:               input.Buf,
 18672  		}, nil
 18673  	}
 18674  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 18675  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2)
 18676  		if x == nil {
 18677  			return protoiface.UnmarshalOutput{
 18678  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 18679  				Flags:             input.Flags,
 18680  			}, nil
 18681  		}
 18682  		options := runtime.UnmarshalInputToOptions(input)
 18683  		_ = options
 18684  		dAtA := input.Buf
 18685  		l := len(dAtA)
 18686  		iNdEx := 0
 18687  		for iNdEx < l {
 18688  			preIndex := iNdEx
 18689  			var wire uint64
 18690  			for shift := uint(0); ; shift += 7 {
 18691  				if shift >= 64 {
 18692  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18693  				}
 18694  				if iNdEx >= l {
 18695  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18696  				}
 18697  				b := dAtA[iNdEx]
 18698  				iNdEx++
 18699  				wire |= uint64(b&0x7F) << shift
 18700  				if b < 0x80 {
 18701  					break
 18702  				}
 18703  			}
 18704  			fieldNum := int32(wire >> 3)
 18705  			wireType := int(wire & 0x7)
 18706  			if wireType == 4 {
 18707  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner2: wiretype end group for non-group")
 18708  			}
 18709  			if fieldNum <= 0 {
 18710  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner2: illegal tag %d (wire type %d)", fieldNum, wire)
 18711  			}
 18712  			switch fieldNum {
 18713  			case 1:
 18714  				if wireType != 2 {
 18715  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 18716  				}
 18717  				var stringLen uint64
 18718  				for shift := uint(0); ; shift += 7 {
 18719  					if shift >= 64 {
 18720  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18721  					}
 18722  					if iNdEx >= l {
 18723  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18724  					}
 18725  					b := dAtA[iNdEx]
 18726  					iNdEx++
 18727  					stringLen |= uint64(b&0x7F) << shift
 18728  					if b < 0x80 {
 18729  						break
 18730  					}
 18731  				}
 18732  				intStringLen := int(stringLen)
 18733  				if intStringLen < 0 {
 18734  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18735  				}
 18736  				postIndex := iNdEx + intStringLen
 18737  				if postIndex < 0 {
 18738  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18739  				}
 18740  				if postIndex > l {
 18741  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18742  				}
 18743  				x.Id = string(dAtA[iNdEx:postIndex])
 18744  				iNdEx = postIndex
 18745  			case 2:
 18746  				if wireType != 2 {
 18747  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Country", wireType)
 18748  				}
 18749  				var stringLen uint64
 18750  				for shift := uint(0); ; shift += 7 {
 18751  					if shift >= 64 {
 18752  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18753  					}
 18754  					if iNdEx >= l {
 18755  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18756  					}
 18757  					b := dAtA[iNdEx]
 18758  					iNdEx++
 18759  					stringLen |= uint64(b&0x7F) << shift
 18760  					if b < 0x80 {
 18761  						break
 18762  					}
 18763  				}
 18764  				intStringLen := int(stringLen)
 18765  				if intStringLen < 0 {
 18766  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18767  				}
 18768  				postIndex := iNdEx + intStringLen
 18769  				if postIndex < 0 {
 18770  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18771  				}
 18772  				if postIndex > l {
 18773  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18774  				}
 18775  				x.Country = string(dAtA[iNdEx:postIndex])
 18776  				iNdEx = postIndex
 18777  			case 3:
 18778  				if wireType != 2 {
 18779  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 18780  				}
 18781  				var msglen int
 18782  				for shift := uint(0); ; shift += 7 {
 18783  					if shift >= 64 {
 18784  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 18785  					}
 18786  					if iNdEx >= l {
 18787  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18788  					}
 18789  					b := dAtA[iNdEx]
 18790  					iNdEx++
 18791  					msglen |= int(b&0x7F) << shift
 18792  					if b < 0x80 {
 18793  						break
 18794  					}
 18795  				}
 18796  				if msglen < 0 {
 18797  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18798  				}
 18799  				postIndex := iNdEx + msglen
 18800  				if postIndex < 0 {
 18801  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18802  				}
 18803  				if postIndex > l {
 18804  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18805  				}
 18806  				if x.Inner == nil {
 18807  					x.Inner = &TestVersion4LoneNesting_Inner2_InnerInner{}
 18808  				}
 18809  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Inner); err != nil {
 18810  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 18811  				}
 18812  				iNdEx = postIndex
 18813  			default:
 18814  				iNdEx = preIndex
 18815  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 18816  				if err != nil {
 18817  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 18818  				}
 18819  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 18820  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 18821  				}
 18822  				if (iNdEx + skippy) > l {
 18823  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18824  				}
 18825  				if !options.DiscardUnknown {
 18826  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 18827  				}
 18828  				iNdEx += skippy
 18829  			}
 18830  		}
 18831  
 18832  		if iNdEx > l {
 18833  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 18834  		}
 18835  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 18836  	}
 18837  	return &protoiface.Methods{
 18838  		NoUnkeyedLiterals: struct{}{},
 18839  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 18840  		Size:              size,
 18841  		Marshal:           marshal,
 18842  		Unmarshal:         unmarshal,
 18843  		Merge:             nil,
 18844  		CheckInitialized:  nil,
 18845  	}
 18846  }
 18847  
 18848  var (
 18849  	md_TestVersion4LoneNesting_Inner2_InnerInner       protoreflect.MessageDescriptor
 18850  	fd_TestVersion4LoneNesting_Inner2_InnerInner_id    protoreflect.FieldDescriptor
 18851  	fd_TestVersion4LoneNesting_Inner2_InnerInner_value protoreflect.FieldDescriptor
 18852  )
 18853  
 18854  func init() {
 18855  	file_testpb_unknonwnproto_proto_init()
 18856  	md_TestVersion4LoneNesting_Inner2_InnerInner = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersion4LoneNesting").Messages().ByName("Inner2").Messages().ByName("InnerInner")
 18857  	fd_TestVersion4LoneNesting_Inner2_InnerInner_id = md_TestVersion4LoneNesting_Inner2_InnerInner.Fields().ByName("id")
 18858  	fd_TestVersion4LoneNesting_Inner2_InnerInner_value = md_TestVersion4LoneNesting_Inner2_InnerInner.Fields().ByName("value")
 18859  }
 18860  
 18861  var _ protoreflect.Message = (*fastReflection_TestVersion4LoneNesting_Inner2_InnerInner)(nil)
 18862  
 18863  type fastReflection_TestVersion4LoneNesting_Inner2_InnerInner TestVersion4LoneNesting_Inner2_InnerInner
 18864  
 18865  func (x *TestVersion4LoneNesting_Inner2_InnerInner) ProtoReflect() protoreflect.Message {
 18866  	return (*fastReflection_TestVersion4LoneNesting_Inner2_InnerInner)(x)
 18867  }
 18868  
 18869  func (x *TestVersion4LoneNesting_Inner2_InnerInner) slowProtoReflect() protoreflect.Message {
 18870  	mi := &file_testpb_unknonwnproto_proto_msgTypes[32]
 18871  	if protoimpl.UnsafeEnabled && x != nil {
 18872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 18873  		if ms.LoadMessageInfo() == nil {
 18874  			ms.StoreMessageInfo(mi)
 18875  		}
 18876  		return ms
 18877  	}
 18878  	return mi.MessageOf(x)
 18879  }
 18880  
 18881  var _fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType
 18882  var _ protoreflect.MessageType = fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType{}
 18883  
 18884  type fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType struct{}
 18885  
 18886  func (x fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType) Zero() protoreflect.Message {
 18887  	return (*fastReflection_TestVersion4LoneNesting_Inner2_InnerInner)(nil)
 18888  }
 18889  func (x fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType) New() protoreflect.Message {
 18890  	return new(fastReflection_TestVersion4LoneNesting_Inner2_InnerInner)
 18891  }
 18892  func (x fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType) Descriptor() protoreflect.MessageDescriptor {
 18893  	return md_TestVersion4LoneNesting_Inner2_InnerInner
 18894  }
 18895  
 18896  // Descriptor returns message descriptor, which contains only the protobuf
 18897  // type information for the message.
 18898  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Descriptor() protoreflect.MessageDescriptor {
 18899  	return md_TestVersion4LoneNesting_Inner2_InnerInner
 18900  }
 18901  
 18902  // Type returns the message type, which encapsulates both Go and protobuf
 18903  // type information. If the Go type information is not needed,
 18904  // it is recommended that the message descriptor be used instead.
 18905  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Type() protoreflect.MessageType {
 18906  	return _fastReflection_TestVersion4LoneNesting_Inner2_InnerInner_messageType
 18907  }
 18908  
 18909  // New returns a newly allocated and mutable empty message.
 18910  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) New() protoreflect.Message {
 18911  	return new(fastReflection_TestVersion4LoneNesting_Inner2_InnerInner)
 18912  }
 18913  
 18914  // Interface unwraps the message reflection interface and
 18915  // returns the underlying ProtoMessage interface.
 18916  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Interface() protoreflect.ProtoMessage {
 18917  	return (*TestVersion4LoneNesting_Inner2_InnerInner)(x)
 18918  }
 18919  
 18920  // Range iterates over every populated field in an undefined order,
 18921  // calling f for each field descriptor and value encountered.
 18922  // Range returns immediately if f returns false.
 18923  // While iterating, mutating operations may only be performed
 18924  // on the current field descriptor.
 18925  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 18926  	if x.Id != "" {
 18927  		value := protoreflect.ValueOfString(x.Id)
 18928  		if !f(fd_TestVersion4LoneNesting_Inner2_InnerInner_id, value) {
 18929  			return
 18930  		}
 18931  	}
 18932  	if x.Value != int64(0) {
 18933  		value := protoreflect.ValueOfInt64(x.Value)
 18934  		if !f(fd_TestVersion4LoneNesting_Inner2_InnerInner_value, value) {
 18935  			return
 18936  		}
 18937  	}
 18938  }
 18939  
 18940  // Has reports whether a field is populated.
 18941  //
 18942  // Some fields have the property of nullability where it is possible to
 18943  // distinguish between the default value of a field and whether the field
 18944  // was explicitly populated with the default value. Singular message fields,
 18945  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 18946  // fields are populated only if explicitly set.
 18947  //
 18948  // In other cases (aside from the nullable cases above),
 18949  // a proto3 scalar field is populated if it contains a non-zero value, and
 18950  // a repeated field is populated if it is non-empty.
 18951  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Has(fd protoreflect.FieldDescriptor) bool {
 18952  	switch fd.FullName() {
 18953  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 18954  		return x.Id != ""
 18955  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 18956  		return x.Value != int64(0)
 18957  	default:
 18958  		if fd.IsExtension() {
 18959  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 18960  		}
 18961  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 18962  	}
 18963  }
 18964  
 18965  // Clear clears the field such that a subsequent Has call reports false.
 18966  //
 18967  // Clearing an extension field clears both the extension type and value
 18968  // associated with the given field number.
 18969  //
 18970  // Clear is a mutating operation and unsafe for concurrent use.
 18971  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Clear(fd protoreflect.FieldDescriptor) {
 18972  	switch fd.FullName() {
 18973  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 18974  		x.Id = ""
 18975  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 18976  		x.Value = int64(0)
 18977  	default:
 18978  		if fd.IsExtension() {
 18979  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 18980  		}
 18981  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 18982  	}
 18983  }
 18984  
 18985  // Get retrieves the value for a field.
 18986  //
 18987  // For unpopulated scalars, it returns the default value, where
 18988  // the default value of a bytes scalar is guaranteed to be a copy.
 18989  // For unpopulated composite types, it returns an empty, read-only view
 18990  // of the value; to obtain a mutable reference, use Mutable.
 18991  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 18992  	switch descriptor.FullName() {
 18993  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 18994  		value := x.Id
 18995  		return protoreflect.ValueOfString(value)
 18996  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 18997  		value := x.Value
 18998  		return protoreflect.ValueOfInt64(value)
 18999  	default:
 19000  		if descriptor.IsExtension() {
 19001  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 19002  		}
 19003  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", descriptor.FullName()))
 19004  	}
 19005  }
 19006  
 19007  // Set stores the value for a field.
 19008  //
 19009  // For a field belonging to a oneof, it implicitly clears any other field
 19010  // that may be currently set within the same oneof.
 19011  // For extension fields, it implicitly stores the provided ExtensionType.
 19012  // When setting a composite type, it is unspecified whether the stored value
 19013  // aliases the source's memory in any way. If the composite value is an
 19014  // empty, read-only value, then it panics.
 19015  //
 19016  // Set is a mutating operation and unsafe for concurrent use.
 19017  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 19018  	switch fd.FullName() {
 19019  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 19020  		x.Id = value.Interface().(string)
 19021  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 19022  		x.Value = value.Int()
 19023  	default:
 19024  		if fd.IsExtension() {
 19025  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 19026  		}
 19027  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 19028  	}
 19029  }
 19030  
 19031  // Mutable returns a mutable reference to a composite type.
 19032  //
 19033  // If the field is unpopulated, it may allocate a composite value.
 19034  // For a field belonging to a oneof, it implicitly clears any other field
 19035  // that may be currently set within the same oneof.
 19036  // For extension fields, it implicitly stores the provided ExtensionType
 19037  // if not already stored.
 19038  // It panics if the field does not contain a composite type.
 19039  //
 19040  // Mutable is a mutating operation and unsafe for concurrent use.
 19041  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 19042  	switch fd.FullName() {
 19043  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 19044  		panic(fmt.Errorf("field id of message testpb.TestVersion4LoneNesting.Inner2.InnerInner is not mutable"))
 19045  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 19046  		panic(fmt.Errorf("field value of message testpb.TestVersion4LoneNesting.Inner2.InnerInner is not mutable"))
 19047  	default:
 19048  		if fd.IsExtension() {
 19049  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 19050  		}
 19051  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 19052  	}
 19053  }
 19054  
 19055  // NewField returns a new value that is assignable to the field
 19056  // for the given descriptor. For scalars, this returns the default value.
 19057  // For lists, maps, and messages, this returns a new, empty, mutable value.
 19058  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 19059  	switch fd.FullName() {
 19060  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.id":
 19061  		return protoreflect.ValueOfString("")
 19062  	case "testpb.TestVersion4LoneNesting.Inner2.InnerInner.value":
 19063  		return protoreflect.ValueOfInt64(int64(0))
 19064  	default:
 19065  		if fd.IsExtension() {
 19066  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersion4LoneNesting.Inner2.InnerInner"))
 19067  		}
 19068  		panic(fmt.Errorf("message testpb.TestVersion4LoneNesting.Inner2.InnerInner does not contain field %s", fd.FullName()))
 19069  	}
 19070  }
 19071  
 19072  // WhichOneof reports which field within the oneof is populated,
 19073  // returning nil if none are populated.
 19074  // It panics if the oneof descriptor does not belong to this message.
 19075  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 19076  	switch d.FullName() {
 19077  	default:
 19078  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersion4LoneNesting.Inner2.InnerInner", d.FullName()))
 19079  	}
 19080  	panic("unreachable")
 19081  }
 19082  
 19083  // GetUnknown retrieves the entire list of unknown fields.
 19084  // The caller may only mutate the contents of the RawFields
 19085  // if the mutated bytes are stored back into the message with SetUnknown.
 19086  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) GetUnknown() protoreflect.RawFields {
 19087  	return x.unknownFields
 19088  }
 19089  
 19090  // SetUnknown stores an entire list of unknown fields.
 19091  // The raw fields must be syntactically valid according to the wire format.
 19092  // An implementation may panic if this is not the case.
 19093  // Once stored, the caller must not mutate the content of the RawFields.
 19094  // An empty RawFields may be passed to clear the fields.
 19095  //
 19096  // SetUnknown is a mutating operation and unsafe for concurrent use.
 19097  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) SetUnknown(fields protoreflect.RawFields) {
 19098  	x.unknownFields = fields
 19099  }
 19100  
 19101  // IsValid reports whether the message is valid.
 19102  //
 19103  // An invalid message is an empty, read-only value.
 19104  //
 19105  // An invalid message often corresponds to a nil pointer of the concrete
 19106  // message type, but the details are implementation dependent.
 19107  // Validity is not part of the protobuf data model, and may not
 19108  // be preserved in marshaling or other operations.
 19109  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) IsValid() bool {
 19110  	return x != nil
 19111  }
 19112  
 19113  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 19114  // This method may return nil.
 19115  //
 19116  // The returned methods type is identical to
 19117  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 19118  // Consult the protoiface package documentation for details.
 19119  func (x *fastReflection_TestVersion4LoneNesting_Inner2_InnerInner) ProtoMethods() *protoiface.Methods {
 19120  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 19121  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2_InnerInner)
 19122  		if x == nil {
 19123  			return protoiface.SizeOutput{
 19124  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19125  				Size:              0,
 19126  			}
 19127  		}
 19128  		options := runtime.SizeInputToOptions(input)
 19129  		_ = options
 19130  		var n int
 19131  		var l int
 19132  		_ = l
 19133  		l = len(x.Id)
 19134  		if l > 0 {
 19135  			n += 1 + l + runtime.Sov(uint64(l))
 19136  		}
 19137  		if x.Value != 0 {
 19138  			n += 1 + runtime.Sov(uint64(x.Value))
 19139  		}
 19140  		if x.unknownFields != nil {
 19141  			n += len(x.unknownFields)
 19142  		}
 19143  		return protoiface.SizeOutput{
 19144  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19145  			Size:              n,
 19146  		}
 19147  	}
 19148  
 19149  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 19150  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2_InnerInner)
 19151  		if x == nil {
 19152  			return protoiface.MarshalOutput{
 19153  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19154  				Buf:               input.Buf,
 19155  			}, nil
 19156  		}
 19157  		options := runtime.MarshalInputToOptions(input)
 19158  		_ = options
 19159  		size := options.Size(x)
 19160  		dAtA := make([]byte, size)
 19161  		i := len(dAtA)
 19162  		_ = i
 19163  		var l int
 19164  		_ = l
 19165  		if x.unknownFields != nil {
 19166  			i -= len(x.unknownFields)
 19167  			copy(dAtA[i:], x.unknownFields)
 19168  		}
 19169  		if x.Value != 0 {
 19170  			i = runtime.EncodeVarint(dAtA, i, uint64(x.Value))
 19171  			i--
 19172  			dAtA[i] = 0x10
 19173  		}
 19174  		if len(x.Id) > 0 {
 19175  			i -= len(x.Id)
 19176  			copy(dAtA[i:], x.Id)
 19177  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id)))
 19178  			i--
 19179  			dAtA[i] = 0xa
 19180  		}
 19181  		if input.Buf != nil {
 19182  			input.Buf = append(input.Buf, dAtA...)
 19183  		} else {
 19184  			input.Buf = dAtA
 19185  		}
 19186  		return protoiface.MarshalOutput{
 19187  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19188  			Buf:               input.Buf,
 19189  		}, nil
 19190  	}
 19191  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 19192  		x := input.Message.Interface().(*TestVersion4LoneNesting_Inner2_InnerInner)
 19193  		if x == nil {
 19194  			return protoiface.UnmarshalOutput{
 19195  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19196  				Flags:             input.Flags,
 19197  			}, nil
 19198  		}
 19199  		options := runtime.UnmarshalInputToOptions(input)
 19200  		_ = options
 19201  		dAtA := input.Buf
 19202  		l := len(dAtA)
 19203  		iNdEx := 0
 19204  		for iNdEx < l {
 19205  			preIndex := iNdEx
 19206  			var wire uint64
 19207  			for shift := uint(0); ; shift += 7 {
 19208  				if shift >= 64 {
 19209  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 19210  				}
 19211  				if iNdEx >= l {
 19212  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19213  				}
 19214  				b := dAtA[iNdEx]
 19215  				iNdEx++
 19216  				wire |= uint64(b&0x7F) << shift
 19217  				if b < 0x80 {
 19218  					break
 19219  				}
 19220  			}
 19221  			fieldNum := int32(wire >> 3)
 19222  			wireType := int(wire & 0x7)
 19223  			if wireType == 4 {
 19224  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner2_InnerInner: wiretype end group for non-group")
 19225  			}
 19226  			if fieldNum <= 0 {
 19227  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersion4LoneNesting_Inner2_InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 19228  			}
 19229  			switch fieldNum {
 19230  			case 1:
 19231  				if wireType != 2 {
 19232  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 19233  				}
 19234  				var stringLen uint64
 19235  				for shift := uint(0); ; shift += 7 {
 19236  					if shift >= 64 {
 19237  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 19238  					}
 19239  					if iNdEx >= l {
 19240  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19241  					}
 19242  					b := dAtA[iNdEx]
 19243  					iNdEx++
 19244  					stringLen |= uint64(b&0x7F) << shift
 19245  					if b < 0x80 {
 19246  						break
 19247  					}
 19248  				}
 19249  				intStringLen := int(stringLen)
 19250  				if intStringLen < 0 {
 19251  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 19252  				}
 19253  				postIndex := iNdEx + intStringLen
 19254  				if postIndex < 0 {
 19255  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 19256  				}
 19257  				if postIndex > l {
 19258  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19259  				}
 19260  				x.Id = string(dAtA[iNdEx:postIndex])
 19261  				iNdEx = postIndex
 19262  			case 2:
 19263  				if wireType != 0 {
 19264  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
 19265  				}
 19266  				x.Value = 0
 19267  				for shift := uint(0); ; shift += 7 {
 19268  					if shift >= 64 {
 19269  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 19270  					}
 19271  					if iNdEx >= l {
 19272  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19273  					}
 19274  					b := dAtA[iNdEx]
 19275  					iNdEx++
 19276  					x.Value |= int64(b&0x7F) << shift
 19277  					if b < 0x80 {
 19278  						break
 19279  					}
 19280  				}
 19281  			default:
 19282  				iNdEx = preIndex
 19283  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 19284  				if err != nil {
 19285  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 19286  				}
 19287  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 19288  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 19289  				}
 19290  				if (iNdEx + skippy) > l {
 19291  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19292  				}
 19293  				if !options.DiscardUnknown {
 19294  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 19295  				}
 19296  				iNdEx += skippy
 19297  			}
 19298  		}
 19299  
 19300  		if iNdEx > l {
 19301  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19302  		}
 19303  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 19304  	}
 19305  	return &protoiface.Methods{
 19306  		NoUnkeyedLiterals: struct{}{},
 19307  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 19308  		Size:              size,
 19309  		Marshal:           marshal,
 19310  		Unmarshal:         unmarshal,
 19311  		Merge:             nil,
 19312  		CheckInitialized:  nil,
 19313  	}
 19314  }
 19315  
 19316  var _ protoreflect.List = (*_TestVersionFD1_9_list)(nil)
 19317  
 19318  type _TestVersionFD1_9_list struct {
 19319  	list *[]*TestVersion1
 19320  }
 19321  
 19322  func (x *_TestVersionFD1_9_list) Len() int {
 19323  	if x.list == nil {
 19324  		return 0
 19325  	}
 19326  	return len(*x.list)
 19327  }
 19328  
 19329  func (x *_TestVersionFD1_9_list) Get(i int) protoreflect.Value {
 19330  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 19331  }
 19332  
 19333  func (x *_TestVersionFD1_9_list) Set(i int, value protoreflect.Value) {
 19334  	valueUnwrapped := value.Message()
 19335  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 19336  	(*x.list)[i] = concreteValue
 19337  }
 19338  
 19339  func (x *_TestVersionFD1_9_list) Append(value protoreflect.Value) {
 19340  	valueUnwrapped := value.Message()
 19341  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 19342  	*x.list = append(*x.list, concreteValue)
 19343  }
 19344  
 19345  func (x *_TestVersionFD1_9_list) AppendMutable() protoreflect.Value {
 19346  	v := new(TestVersion1)
 19347  	*x.list = append(*x.list, v)
 19348  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 19349  }
 19350  
 19351  func (x *_TestVersionFD1_9_list) Truncate(n int) {
 19352  	for i := n; i < len(*x.list); i++ {
 19353  		(*x.list)[i] = nil
 19354  	}
 19355  	*x.list = (*x.list)[:n]
 19356  }
 19357  
 19358  func (x *_TestVersionFD1_9_list) NewElement() protoreflect.Value {
 19359  	v := new(TestVersion1)
 19360  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 19361  }
 19362  
 19363  func (x *_TestVersionFD1_9_list) IsValid() bool {
 19364  	return x.list != nil
 19365  }
 19366  
 19367  var (
 19368  	md_TestVersionFD1   protoreflect.MessageDescriptor
 19369  	fd_TestVersionFD1_x protoreflect.FieldDescriptor
 19370  	fd_TestVersionFD1_a protoreflect.FieldDescriptor
 19371  	fd_TestVersionFD1_e protoreflect.FieldDescriptor
 19372  	fd_TestVersionFD1_f protoreflect.FieldDescriptor
 19373  	fd_TestVersionFD1_g protoreflect.FieldDescriptor
 19374  	fd_TestVersionFD1_h protoreflect.FieldDescriptor
 19375  )
 19376  
 19377  func init() {
 19378  	file_testpb_unknonwnproto_proto_init()
 19379  	md_TestVersionFD1 = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersionFD1")
 19380  	fd_TestVersionFD1_x = md_TestVersionFD1.Fields().ByName("x")
 19381  	fd_TestVersionFD1_a = md_TestVersionFD1.Fields().ByName("a")
 19382  	fd_TestVersionFD1_e = md_TestVersionFD1.Fields().ByName("e")
 19383  	fd_TestVersionFD1_f = md_TestVersionFD1.Fields().ByName("f")
 19384  	fd_TestVersionFD1_g = md_TestVersionFD1.Fields().ByName("g")
 19385  	fd_TestVersionFD1_h = md_TestVersionFD1.Fields().ByName("h")
 19386  }
 19387  
 19388  var _ protoreflect.Message = (*fastReflection_TestVersionFD1)(nil)
 19389  
 19390  type fastReflection_TestVersionFD1 TestVersionFD1
 19391  
 19392  func (x *TestVersionFD1) ProtoReflect() protoreflect.Message {
 19393  	return (*fastReflection_TestVersionFD1)(x)
 19394  }
 19395  
 19396  func (x *TestVersionFD1) slowProtoReflect() protoreflect.Message {
 19397  	mi := &file_testpb_unknonwnproto_proto_msgTypes[17]
 19398  	if protoimpl.UnsafeEnabled && x != nil {
 19399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 19400  		if ms.LoadMessageInfo() == nil {
 19401  			ms.StoreMessageInfo(mi)
 19402  		}
 19403  		return ms
 19404  	}
 19405  	return mi.MessageOf(x)
 19406  }
 19407  
 19408  var _fastReflection_TestVersionFD1_messageType fastReflection_TestVersionFD1_messageType
 19409  var _ protoreflect.MessageType = fastReflection_TestVersionFD1_messageType{}
 19410  
 19411  type fastReflection_TestVersionFD1_messageType struct{}
 19412  
 19413  func (x fastReflection_TestVersionFD1_messageType) Zero() protoreflect.Message {
 19414  	return (*fastReflection_TestVersionFD1)(nil)
 19415  }
 19416  func (x fastReflection_TestVersionFD1_messageType) New() protoreflect.Message {
 19417  	return new(fastReflection_TestVersionFD1)
 19418  }
 19419  func (x fastReflection_TestVersionFD1_messageType) Descriptor() protoreflect.MessageDescriptor {
 19420  	return md_TestVersionFD1
 19421  }
 19422  
 19423  // Descriptor returns message descriptor, which contains only the protobuf
 19424  // type information for the message.
 19425  func (x *fastReflection_TestVersionFD1) Descriptor() protoreflect.MessageDescriptor {
 19426  	return md_TestVersionFD1
 19427  }
 19428  
 19429  // Type returns the message type, which encapsulates both Go and protobuf
 19430  // type information. If the Go type information is not needed,
 19431  // it is recommended that the message descriptor be used instead.
 19432  func (x *fastReflection_TestVersionFD1) Type() protoreflect.MessageType {
 19433  	return _fastReflection_TestVersionFD1_messageType
 19434  }
 19435  
 19436  // New returns a newly allocated and mutable empty message.
 19437  func (x *fastReflection_TestVersionFD1) New() protoreflect.Message {
 19438  	return new(fastReflection_TestVersionFD1)
 19439  }
 19440  
 19441  // Interface unwraps the message reflection interface and
 19442  // returns the underlying ProtoMessage interface.
 19443  func (x *fastReflection_TestVersionFD1) Interface() protoreflect.ProtoMessage {
 19444  	return (*TestVersionFD1)(x)
 19445  }
 19446  
 19447  // Range iterates over every populated field in an undefined order,
 19448  // calling f for each field descriptor and value encountered.
 19449  // Range returns immediately if f returns false.
 19450  // While iterating, mutating operations may only be performed
 19451  // on the current field descriptor.
 19452  func (x *fastReflection_TestVersionFD1) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 19453  	if x.X != int64(0) {
 19454  		value := protoreflect.ValueOfInt64(x.X)
 19455  		if !f(fd_TestVersionFD1_x, value) {
 19456  			return
 19457  		}
 19458  	}
 19459  	if x.A != nil {
 19460  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 19461  		if !f(fd_TestVersionFD1_a, value) {
 19462  			return
 19463  		}
 19464  	}
 19465  	if x.Sum != nil {
 19466  		switch o := x.Sum.(type) {
 19467  		case *TestVersionFD1_E:
 19468  			v := o.E
 19469  			value := protoreflect.ValueOfInt32(v)
 19470  			if !f(fd_TestVersionFD1_e, value) {
 19471  				return
 19472  			}
 19473  		case *TestVersionFD1_F:
 19474  			v := o.F
 19475  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
 19476  			if !f(fd_TestVersionFD1_f, value) {
 19477  				return
 19478  			}
 19479  		}
 19480  	}
 19481  	if x.G != nil {
 19482  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
 19483  		if !f(fd_TestVersionFD1_g, value) {
 19484  			return
 19485  		}
 19486  	}
 19487  	if len(x.H) != 0 {
 19488  		value := protoreflect.ValueOfList(&_TestVersionFD1_9_list{list: &x.H})
 19489  		if !f(fd_TestVersionFD1_h, value) {
 19490  			return
 19491  		}
 19492  	}
 19493  }
 19494  
 19495  // Has reports whether a field is populated.
 19496  //
 19497  // Some fields have the property of nullability where it is possible to
 19498  // distinguish between the default value of a field and whether the field
 19499  // was explicitly populated with the default value. Singular message fields,
 19500  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 19501  // fields are populated only if explicitly set.
 19502  //
 19503  // In other cases (aside from the nullable cases above),
 19504  // a proto3 scalar field is populated if it contains a non-zero value, and
 19505  // a repeated field is populated if it is non-empty.
 19506  func (x *fastReflection_TestVersionFD1) Has(fd protoreflect.FieldDescriptor) bool {
 19507  	switch fd.FullName() {
 19508  	case "testpb.TestVersionFD1.x":
 19509  		return x.X != int64(0)
 19510  	case "testpb.TestVersionFD1.a":
 19511  		return x.A != nil
 19512  	case "testpb.TestVersionFD1.e":
 19513  		if x.Sum == nil {
 19514  			return false
 19515  		} else if _, ok := x.Sum.(*TestVersionFD1_E); ok {
 19516  			return true
 19517  		} else {
 19518  			return false
 19519  		}
 19520  	case "testpb.TestVersionFD1.f":
 19521  		if x.Sum == nil {
 19522  			return false
 19523  		} else if _, ok := x.Sum.(*TestVersionFD1_F); ok {
 19524  			return true
 19525  		} else {
 19526  			return false
 19527  		}
 19528  	case "testpb.TestVersionFD1.g":
 19529  		return x.G != nil
 19530  	case "testpb.TestVersionFD1.h":
 19531  		return len(x.H) != 0
 19532  	default:
 19533  		if fd.IsExtension() {
 19534  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19535  		}
 19536  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", fd.FullName()))
 19537  	}
 19538  }
 19539  
 19540  // Clear clears the field such that a subsequent Has call reports false.
 19541  //
 19542  // Clearing an extension field clears both the extension type and value
 19543  // associated with the given field number.
 19544  //
 19545  // Clear is a mutating operation and unsafe for concurrent use.
 19546  func (x *fastReflection_TestVersionFD1) Clear(fd protoreflect.FieldDescriptor) {
 19547  	switch fd.FullName() {
 19548  	case "testpb.TestVersionFD1.x":
 19549  		x.X = int64(0)
 19550  	case "testpb.TestVersionFD1.a":
 19551  		x.A = nil
 19552  	case "testpb.TestVersionFD1.e":
 19553  		x.Sum = nil
 19554  	case "testpb.TestVersionFD1.f":
 19555  		x.Sum = nil
 19556  	case "testpb.TestVersionFD1.g":
 19557  		x.G = nil
 19558  	case "testpb.TestVersionFD1.h":
 19559  		x.H = nil
 19560  	default:
 19561  		if fd.IsExtension() {
 19562  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19563  		}
 19564  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", fd.FullName()))
 19565  	}
 19566  }
 19567  
 19568  // Get retrieves the value for a field.
 19569  //
 19570  // For unpopulated scalars, it returns the default value, where
 19571  // the default value of a bytes scalar is guaranteed to be a copy.
 19572  // For unpopulated composite types, it returns an empty, read-only view
 19573  // of the value; to obtain a mutable reference, use Mutable.
 19574  func (x *fastReflection_TestVersionFD1) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 19575  	switch descriptor.FullName() {
 19576  	case "testpb.TestVersionFD1.x":
 19577  		value := x.X
 19578  		return protoreflect.ValueOfInt64(value)
 19579  	case "testpb.TestVersionFD1.a":
 19580  		value := x.A
 19581  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 19582  	case "testpb.TestVersionFD1.e":
 19583  		if x.Sum == nil {
 19584  			return protoreflect.ValueOfInt32(int32(0))
 19585  		} else if v, ok := x.Sum.(*TestVersionFD1_E); ok {
 19586  			return protoreflect.ValueOfInt32(v.E)
 19587  		} else {
 19588  			return protoreflect.ValueOfInt32(int32(0))
 19589  		}
 19590  	case "testpb.TestVersionFD1.f":
 19591  		if x.Sum == nil {
 19592  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
 19593  		} else if v, ok := x.Sum.(*TestVersionFD1_F); ok {
 19594  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
 19595  		} else {
 19596  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
 19597  		}
 19598  	case "testpb.TestVersionFD1.g":
 19599  		value := x.G
 19600  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 19601  	case "testpb.TestVersionFD1.h":
 19602  		if len(x.H) == 0 {
 19603  			return protoreflect.ValueOfList(&_TestVersionFD1_9_list{})
 19604  		}
 19605  		listValue := &_TestVersionFD1_9_list{list: &x.H}
 19606  		return protoreflect.ValueOfList(listValue)
 19607  	default:
 19608  		if descriptor.IsExtension() {
 19609  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19610  		}
 19611  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", descriptor.FullName()))
 19612  	}
 19613  }
 19614  
 19615  // Set stores the value for a field.
 19616  //
 19617  // For a field belonging to a oneof, it implicitly clears any other field
 19618  // that may be currently set within the same oneof.
 19619  // For extension fields, it implicitly stores the provided ExtensionType.
 19620  // When setting a composite type, it is unspecified whether the stored value
 19621  // aliases the source's memory in any way. If the composite value is an
 19622  // empty, read-only value, then it panics.
 19623  //
 19624  // Set is a mutating operation and unsafe for concurrent use.
 19625  func (x *fastReflection_TestVersionFD1) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 19626  	switch fd.FullName() {
 19627  	case "testpb.TestVersionFD1.x":
 19628  		x.X = value.Int()
 19629  	case "testpb.TestVersionFD1.a":
 19630  		x.A = value.Message().Interface().(*TestVersion1)
 19631  	case "testpb.TestVersionFD1.e":
 19632  		cv := int32(value.Int())
 19633  		x.Sum = &TestVersionFD1_E{E: cv}
 19634  	case "testpb.TestVersionFD1.f":
 19635  		cv := value.Message().Interface().(*TestVersion1)
 19636  		x.Sum = &TestVersionFD1_F{F: cv}
 19637  	case "testpb.TestVersionFD1.g":
 19638  		x.G = value.Message().Interface().(*anypb.Any)
 19639  	case "testpb.TestVersionFD1.h":
 19640  		lv := value.List()
 19641  		clv := lv.(*_TestVersionFD1_9_list)
 19642  		x.H = *clv.list
 19643  	default:
 19644  		if fd.IsExtension() {
 19645  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19646  		}
 19647  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", fd.FullName()))
 19648  	}
 19649  }
 19650  
 19651  // Mutable returns a mutable reference to a composite type.
 19652  //
 19653  // If the field is unpopulated, it may allocate a composite value.
 19654  // For a field belonging to a oneof, it implicitly clears any other field
 19655  // that may be currently set within the same oneof.
 19656  // For extension fields, it implicitly stores the provided ExtensionType
 19657  // if not already stored.
 19658  // It panics if the field does not contain a composite type.
 19659  //
 19660  // Mutable is a mutating operation and unsafe for concurrent use.
 19661  func (x *fastReflection_TestVersionFD1) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 19662  	switch fd.FullName() {
 19663  	case "testpb.TestVersionFD1.a":
 19664  		if x.A == nil {
 19665  			x.A = new(TestVersion1)
 19666  		}
 19667  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 19668  	case "testpb.TestVersionFD1.f":
 19669  		if x.Sum == nil {
 19670  			value := &TestVersion1{}
 19671  			oneofValue := &TestVersionFD1_F{F: value}
 19672  			x.Sum = oneofValue
 19673  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 19674  		}
 19675  		switch m := x.Sum.(type) {
 19676  		case *TestVersionFD1_F:
 19677  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
 19678  		default:
 19679  			value := &TestVersion1{}
 19680  			oneofValue := &TestVersionFD1_F{F: value}
 19681  			x.Sum = oneofValue
 19682  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 19683  		}
 19684  	case "testpb.TestVersionFD1.g":
 19685  		if x.G == nil {
 19686  			x.G = new(anypb.Any)
 19687  		}
 19688  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 19689  	case "testpb.TestVersionFD1.h":
 19690  		if x.H == nil {
 19691  			x.H = []*TestVersion1{}
 19692  		}
 19693  		value := &_TestVersionFD1_9_list{list: &x.H}
 19694  		return protoreflect.ValueOfList(value)
 19695  	case "testpb.TestVersionFD1.x":
 19696  		panic(fmt.Errorf("field x of message testpb.TestVersionFD1 is not mutable"))
 19697  	case "testpb.TestVersionFD1.e":
 19698  		panic(fmt.Errorf("field e of message testpb.TestVersionFD1 is not mutable"))
 19699  	default:
 19700  		if fd.IsExtension() {
 19701  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19702  		}
 19703  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", fd.FullName()))
 19704  	}
 19705  }
 19706  
 19707  // NewField returns a new value that is assignable to the field
 19708  // for the given descriptor. For scalars, this returns the default value.
 19709  // For lists, maps, and messages, this returns a new, empty, mutable value.
 19710  func (x *fastReflection_TestVersionFD1) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 19711  	switch fd.FullName() {
 19712  	case "testpb.TestVersionFD1.x":
 19713  		return protoreflect.ValueOfInt64(int64(0))
 19714  	case "testpb.TestVersionFD1.a":
 19715  		m := new(TestVersion1)
 19716  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 19717  	case "testpb.TestVersionFD1.e":
 19718  		return protoreflect.ValueOfInt32(int32(0))
 19719  	case "testpb.TestVersionFD1.f":
 19720  		value := &TestVersion1{}
 19721  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 19722  	case "testpb.TestVersionFD1.g":
 19723  		m := new(anypb.Any)
 19724  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 19725  	case "testpb.TestVersionFD1.h":
 19726  		list := []*TestVersion1{}
 19727  		return protoreflect.ValueOfList(&_TestVersionFD1_9_list{list: &list})
 19728  	default:
 19729  		if fd.IsExtension() {
 19730  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1"))
 19731  		}
 19732  		panic(fmt.Errorf("message testpb.TestVersionFD1 does not contain field %s", fd.FullName()))
 19733  	}
 19734  }
 19735  
 19736  // WhichOneof reports which field within the oneof is populated,
 19737  // returning nil if none are populated.
 19738  // It panics if the oneof descriptor does not belong to this message.
 19739  func (x *fastReflection_TestVersionFD1) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 19740  	switch d.FullName() {
 19741  	case "testpb.TestVersionFD1.sum":
 19742  		if x.Sum == nil {
 19743  			return nil
 19744  		}
 19745  		switch x.Sum.(type) {
 19746  		case *TestVersionFD1_E:
 19747  			return x.Descriptor().Fields().ByName("e")
 19748  		case *TestVersionFD1_F:
 19749  			return x.Descriptor().Fields().ByName("f")
 19750  		}
 19751  	default:
 19752  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersionFD1", d.FullName()))
 19753  	}
 19754  	panic("unreachable")
 19755  }
 19756  
 19757  // GetUnknown retrieves the entire list of unknown fields.
 19758  // The caller may only mutate the contents of the RawFields
 19759  // if the mutated bytes are stored back into the message with SetUnknown.
 19760  func (x *fastReflection_TestVersionFD1) GetUnknown() protoreflect.RawFields {
 19761  	return x.unknownFields
 19762  }
 19763  
 19764  // SetUnknown stores an entire list of unknown fields.
 19765  // The raw fields must be syntactically valid according to the wire format.
 19766  // An implementation may panic if this is not the case.
 19767  // Once stored, the caller must not mutate the content of the RawFields.
 19768  // An empty RawFields may be passed to clear the fields.
 19769  //
 19770  // SetUnknown is a mutating operation and unsafe for concurrent use.
 19771  func (x *fastReflection_TestVersionFD1) SetUnknown(fields protoreflect.RawFields) {
 19772  	x.unknownFields = fields
 19773  }
 19774  
 19775  // IsValid reports whether the message is valid.
 19776  //
 19777  // An invalid message is an empty, read-only value.
 19778  //
 19779  // An invalid message often corresponds to a nil pointer of the concrete
 19780  // message type, but the details are implementation dependent.
 19781  // Validity is not part of the protobuf data model, and may not
 19782  // be preserved in marshaling or other operations.
 19783  func (x *fastReflection_TestVersionFD1) IsValid() bool {
 19784  	return x != nil
 19785  }
 19786  
 19787  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 19788  // This method may return nil.
 19789  //
 19790  // The returned methods type is identical to
 19791  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 19792  // Consult the protoiface package documentation for details.
 19793  func (x *fastReflection_TestVersionFD1) ProtoMethods() *protoiface.Methods {
 19794  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 19795  		x := input.Message.Interface().(*TestVersionFD1)
 19796  		if x == nil {
 19797  			return protoiface.SizeOutput{
 19798  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19799  				Size:              0,
 19800  			}
 19801  		}
 19802  		options := runtime.SizeInputToOptions(input)
 19803  		_ = options
 19804  		var n int
 19805  		var l int
 19806  		_ = l
 19807  		if x.X != 0 {
 19808  			n += 1 + runtime.Sov(uint64(x.X))
 19809  		}
 19810  		if x.A != nil {
 19811  			l = options.Size(x.A)
 19812  			n += 1 + l + runtime.Sov(uint64(l))
 19813  		}
 19814  		switch x := x.Sum.(type) {
 19815  		case *TestVersionFD1_E:
 19816  			if x == nil {
 19817  				break
 19818  			}
 19819  			n += 1 + runtime.Sov(uint64(x.E))
 19820  		case *TestVersionFD1_F:
 19821  			if x == nil {
 19822  				break
 19823  			}
 19824  			l = options.Size(x.F)
 19825  			n += 1 + l + runtime.Sov(uint64(l))
 19826  		}
 19827  		if x.G != nil {
 19828  			l = options.Size(x.G)
 19829  			n += 1 + l + runtime.Sov(uint64(l))
 19830  		}
 19831  		if len(x.H) > 0 {
 19832  			for _, e := range x.H {
 19833  				l = options.Size(e)
 19834  				n += 1 + l + runtime.Sov(uint64(l))
 19835  			}
 19836  		}
 19837  		if x.unknownFields != nil {
 19838  			n += len(x.unknownFields)
 19839  		}
 19840  		return protoiface.SizeOutput{
 19841  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19842  			Size:              n,
 19843  		}
 19844  	}
 19845  
 19846  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 19847  		x := input.Message.Interface().(*TestVersionFD1)
 19848  		if x == nil {
 19849  			return protoiface.MarshalOutput{
 19850  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19851  				Buf:               input.Buf,
 19852  			}, nil
 19853  		}
 19854  		options := runtime.MarshalInputToOptions(input)
 19855  		_ = options
 19856  		size := options.Size(x)
 19857  		dAtA := make([]byte, size)
 19858  		i := len(dAtA)
 19859  		_ = i
 19860  		var l int
 19861  		_ = l
 19862  		if x.unknownFields != nil {
 19863  			i -= len(x.unknownFields)
 19864  			copy(dAtA[i:], x.unknownFields)
 19865  		}
 19866  		switch x := x.Sum.(type) {
 19867  		case *TestVersionFD1_E:
 19868  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
 19869  			i--
 19870  			dAtA[i] = 0x30
 19871  		case *TestVersionFD1_F:
 19872  			encoded, err := options.Marshal(x.F)
 19873  			if err != nil {
 19874  				return protoiface.MarshalOutput{
 19875  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19876  					Buf:               input.Buf,
 19877  				}, err
 19878  			}
 19879  			i -= len(encoded)
 19880  			copy(dAtA[i:], encoded)
 19881  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 19882  			i--
 19883  			dAtA[i] = 0x3a
 19884  		}
 19885  		if len(x.H) > 0 {
 19886  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 19887  				encoded, err := options.Marshal(x.H[iNdEx])
 19888  				if err != nil {
 19889  					return protoiface.MarshalOutput{
 19890  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19891  						Buf:               input.Buf,
 19892  					}, err
 19893  				}
 19894  				i -= len(encoded)
 19895  				copy(dAtA[i:], encoded)
 19896  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 19897  				i--
 19898  				dAtA[i] = 0x4a
 19899  			}
 19900  		}
 19901  		if x.G != nil {
 19902  			encoded, err := options.Marshal(x.G)
 19903  			if err != nil {
 19904  				return protoiface.MarshalOutput{
 19905  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19906  					Buf:               input.Buf,
 19907  				}, err
 19908  			}
 19909  			i -= len(encoded)
 19910  			copy(dAtA[i:], encoded)
 19911  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 19912  			i--
 19913  			dAtA[i] = 0x42
 19914  		}
 19915  		if x.A != nil {
 19916  			encoded, err := options.Marshal(x.A)
 19917  			if err != nil {
 19918  				return protoiface.MarshalOutput{
 19919  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19920  					Buf:               input.Buf,
 19921  				}, err
 19922  			}
 19923  			i -= len(encoded)
 19924  			copy(dAtA[i:], encoded)
 19925  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 19926  			i--
 19927  			dAtA[i] = 0x12
 19928  		}
 19929  		if x.X != 0 {
 19930  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 19931  			i--
 19932  			dAtA[i] = 0x8
 19933  		}
 19934  		if input.Buf != nil {
 19935  			input.Buf = append(input.Buf, dAtA...)
 19936  		} else {
 19937  			input.Buf = dAtA
 19938  		}
 19939  		return protoiface.MarshalOutput{
 19940  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19941  			Buf:               input.Buf,
 19942  		}, nil
 19943  	}
 19944  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 19945  		x := input.Message.Interface().(*TestVersionFD1)
 19946  		if x == nil {
 19947  			return protoiface.UnmarshalOutput{
 19948  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 19949  				Flags:             input.Flags,
 19950  			}, nil
 19951  		}
 19952  		options := runtime.UnmarshalInputToOptions(input)
 19953  		_ = options
 19954  		dAtA := input.Buf
 19955  		l := len(dAtA)
 19956  		iNdEx := 0
 19957  		for iNdEx < l {
 19958  			preIndex := iNdEx
 19959  			var wire uint64
 19960  			for shift := uint(0); ; shift += 7 {
 19961  				if shift >= 64 {
 19962  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 19963  				}
 19964  				if iNdEx >= l {
 19965  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19966  				}
 19967  				b := dAtA[iNdEx]
 19968  				iNdEx++
 19969  				wire |= uint64(b&0x7F) << shift
 19970  				if b < 0x80 {
 19971  					break
 19972  				}
 19973  			}
 19974  			fieldNum := int32(wire >> 3)
 19975  			wireType := int(wire & 0x7)
 19976  			if wireType == 4 {
 19977  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersionFD1: wiretype end group for non-group")
 19978  			}
 19979  			if fieldNum <= 0 {
 19980  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersionFD1: illegal tag %d (wire type %d)", fieldNum, wire)
 19981  			}
 19982  			switch fieldNum {
 19983  			case 1:
 19984  				if wireType != 0 {
 19985  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 19986  				}
 19987  				x.X = 0
 19988  				for shift := uint(0); ; shift += 7 {
 19989  					if shift >= 64 {
 19990  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 19991  					}
 19992  					if iNdEx >= l {
 19993  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 19994  					}
 19995  					b := dAtA[iNdEx]
 19996  					iNdEx++
 19997  					x.X |= int64(b&0x7F) << shift
 19998  					if b < 0x80 {
 19999  						break
 20000  					}
 20001  				}
 20002  			case 2:
 20003  				if wireType != 2 {
 20004  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 20005  				}
 20006  				var msglen int
 20007  				for shift := uint(0); ; shift += 7 {
 20008  					if shift >= 64 {
 20009  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20010  					}
 20011  					if iNdEx >= l {
 20012  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20013  					}
 20014  					b := dAtA[iNdEx]
 20015  					iNdEx++
 20016  					msglen |= int(b&0x7F) << shift
 20017  					if b < 0x80 {
 20018  						break
 20019  					}
 20020  				}
 20021  				if msglen < 0 {
 20022  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20023  				}
 20024  				postIndex := iNdEx + msglen
 20025  				if postIndex < 0 {
 20026  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20027  				}
 20028  				if postIndex > l {
 20029  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20030  				}
 20031  				if x.A == nil {
 20032  					x.A = &TestVersion1{}
 20033  				}
 20034  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 20035  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20036  				}
 20037  				iNdEx = postIndex
 20038  			case 6:
 20039  				if wireType != 0 {
 20040  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 20041  				}
 20042  				var v int32
 20043  				for shift := uint(0); ; shift += 7 {
 20044  					if shift >= 64 {
 20045  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20046  					}
 20047  					if iNdEx >= l {
 20048  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20049  					}
 20050  					b := dAtA[iNdEx]
 20051  					iNdEx++
 20052  					v |= int32(b&0x7F) << shift
 20053  					if b < 0x80 {
 20054  						break
 20055  					}
 20056  				}
 20057  				x.Sum = &TestVersionFD1_E{v}
 20058  			case 7:
 20059  				if wireType != 2 {
 20060  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 20061  				}
 20062  				var msglen int
 20063  				for shift := uint(0); ; shift += 7 {
 20064  					if shift >= 64 {
 20065  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20066  					}
 20067  					if iNdEx >= l {
 20068  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20069  					}
 20070  					b := dAtA[iNdEx]
 20071  					iNdEx++
 20072  					msglen |= int(b&0x7F) << shift
 20073  					if b < 0x80 {
 20074  						break
 20075  					}
 20076  				}
 20077  				if msglen < 0 {
 20078  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20079  				}
 20080  				postIndex := iNdEx + msglen
 20081  				if postIndex < 0 {
 20082  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20083  				}
 20084  				if postIndex > l {
 20085  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20086  				}
 20087  				v := &TestVersion1{}
 20088  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 20089  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20090  				}
 20091  				x.Sum = &TestVersionFD1_F{v}
 20092  				iNdEx = postIndex
 20093  			case 8:
 20094  				if wireType != 2 {
 20095  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 20096  				}
 20097  				var msglen int
 20098  				for shift := uint(0); ; shift += 7 {
 20099  					if shift >= 64 {
 20100  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20101  					}
 20102  					if iNdEx >= l {
 20103  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20104  					}
 20105  					b := dAtA[iNdEx]
 20106  					iNdEx++
 20107  					msglen |= int(b&0x7F) << shift
 20108  					if b < 0x80 {
 20109  						break
 20110  					}
 20111  				}
 20112  				if msglen < 0 {
 20113  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20114  				}
 20115  				postIndex := iNdEx + msglen
 20116  				if postIndex < 0 {
 20117  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20118  				}
 20119  				if postIndex > l {
 20120  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20121  				}
 20122  				if x.G == nil {
 20123  					x.G = &anypb.Any{}
 20124  				}
 20125  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 20126  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20127  				}
 20128  				iNdEx = postIndex
 20129  			case 9:
 20130  				if wireType != 2 {
 20131  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 20132  				}
 20133  				var msglen int
 20134  				for shift := uint(0); ; shift += 7 {
 20135  					if shift >= 64 {
 20136  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20137  					}
 20138  					if iNdEx >= l {
 20139  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20140  					}
 20141  					b := dAtA[iNdEx]
 20142  					iNdEx++
 20143  					msglen |= int(b&0x7F) << shift
 20144  					if b < 0x80 {
 20145  						break
 20146  					}
 20147  				}
 20148  				if msglen < 0 {
 20149  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20150  				}
 20151  				postIndex := iNdEx + msglen
 20152  				if postIndex < 0 {
 20153  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20154  				}
 20155  				if postIndex > l {
 20156  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20157  				}
 20158  				x.H = append(x.H, &TestVersion1{})
 20159  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 20160  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20161  				}
 20162  				iNdEx = postIndex
 20163  			default:
 20164  				iNdEx = preIndex
 20165  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 20166  				if err != nil {
 20167  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20168  				}
 20169  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 20170  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20171  				}
 20172  				if (iNdEx + skippy) > l {
 20173  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20174  				}
 20175  				if !options.DiscardUnknown {
 20176  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 20177  				}
 20178  				iNdEx += skippy
 20179  			}
 20180  		}
 20181  
 20182  		if iNdEx > l {
 20183  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20184  		}
 20185  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 20186  	}
 20187  	return &protoiface.Methods{
 20188  		NoUnkeyedLiterals: struct{}{},
 20189  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 20190  		Size:              size,
 20191  		Marshal:           marshal,
 20192  		Unmarshal:         unmarshal,
 20193  		Merge:             nil,
 20194  		CheckInitialized:  nil,
 20195  	}
 20196  }
 20197  
 20198  var _ protoreflect.List = (*_TestVersionFD1WithExtraAny_9_list)(nil)
 20199  
 20200  type _TestVersionFD1WithExtraAny_9_list struct {
 20201  	list *[]*TestVersion1
 20202  }
 20203  
 20204  func (x *_TestVersionFD1WithExtraAny_9_list) Len() int {
 20205  	if x.list == nil {
 20206  		return 0
 20207  	}
 20208  	return len(*x.list)
 20209  }
 20210  
 20211  func (x *_TestVersionFD1WithExtraAny_9_list) Get(i int) protoreflect.Value {
 20212  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 20213  }
 20214  
 20215  func (x *_TestVersionFD1WithExtraAny_9_list) Set(i int, value protoreflect.Value) {
 20216  	valueUnwrapped := value.Message()
 20217  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 20218  	(*x.list)[i] = concreteValue
 20219  }
 20220  
 20221  func (x *_TestVersionFD1WithExtraAny_9_list) Append(value protoreflect.Value) {
 20222  	valueUnwrapped := value.Message()
 20223  	concreteValue := valueUnwrapped.Interface().(*TestVersion1)
 20224  	*x.list = append(*x.list, concreteValue)
 20225  }
 20226  
 20227  func (x *_TestVersionFD1WithExtraAny_9_list) AppendMutable() protoreflect.Value {
 20228  	v := new(TestVersion1)
 20229  	*x.list = append(*x.list, v)
 20230  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 20231  }
 20232  
 20233  func (x *_TestVersionFD1WithExtraAny_9_list) Truncate(n int) {
 20234  	for i := n; i < len(*x.list); i++ {
 20235  		(*x.list)[i] = nil
 20236  	}
 20237  	*x.list = (*x.list)[:n]
 20238  }
 20239  
 20240  func (x *_TestVersionFD1WithExtraAny_9_list) NewElement() protoreflect.Value {
 20241  	v := new(TestVersion1)
 20242  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 20243  }
 20244  
 20245  func (x *_TestVersionFD1WithExtraAny_9_list) IsValid() bool {
 20246  	return x.list != nil
 20247  }
 20248  
 20249  var (
 20250  	md_TestVersionFD1WithExtraAny   protoreflect.MessageDescriptor
 20251  	fd_TestVersionFD1WithExtraAny_x protoreflect.FieldDescriptor
 20252  	fd_TestVersionFD1WithExtraAny_a protoreflect.FieldDescriptor
 20253  	fd_TestVersionFD1WithExtraAny_e protoreflect.FieldDescriptor
 20254  	fd_TestVersionFD1WithExtraAny_f protoreflect.FieldDescriptor
 20255  	fd_TestVersionFD1WithExtraAny_g protoreflect.FieldDescriptor
 20256  	fd_TestVersionFD1WithExtraAny_h protoreflect.FieldDescriptor
 20257  )
 20258  
 20259  func init() {
 20260  	file_testpb_unknonwnproto_proto_init()
 20261  	md_TestVersionFD1WithExtraAny = File_testpb_unknonwnproto_proto.Messages().ByName("TestVersionFD1WithExtraAny")
 20262  	fd_TestVersionFD1WithExtraAny_x = md_TestVersionFD1WithExtraAny.Fields().ByName("x")
 20263  	fd_TestVersionFD1WithExtraAny_a = md_TestVersionFD1WithExtraAny.Fields().ByName("a")
 20264  	fd_TestVersionFD1WithExtraAny_e = md_TestVersionFD1WithExtraAny.Fields().ByName("e")
 20265  	fd_TestVersionFD1WithExtraAny_f = md_TestVersionFD1WithExtraAny.Fields().ByName("f")
 20266  	fd_TestVersionFD1WithExtraAny_g = md_TestVersionFD1WithExtraAny.Fields().ByName("g")
 20267  	fd_TestVersionFD1WithExtraAny_h = md_TestVersionFD1WithExtraAny.Fields().ByName("h")
 20268  }
 20269  
 20270  var _ protoreflect.Message = (*fastReflection_TestVersionFD1WithExtraAny)(nil)
 20271  
 20272  type fastReflection_TestVersionFD1WithExtraAny TestVersionFD1WithExtraAny
 20273  
 20274  func (x *TestVersionFD1WithExtraAny) ProtoReflect() protoreflect.Message {
 20275  	return (*fastReflection_TestVersionFD1WithExtraAny)(x)
 20276  }
 20277  
 20278  func (x *TestVersionFD1WithExtraAny) slowProtoReflect() protoreflect.Message {
 20279  	mi := &file_testpb_unknonwnproto_proto_msgTypes[18]
 20280  	if protoimpl.UnsafeEnabled && x != nil {
 20281  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 20282  		if ms.LoadMessageInfo() == nil {
 20283  			ms.StoreMessageInfo(mi)
 20284  		}
 20285  		return ms
 20286  	}
 20287  	return mi.MessageOf(x)
 20288  }
 20289  
 20290  var _fastReflection_TestVersionFD1WithExtraAny_messageType fastReflection_TestVersionFD1WithExtraAny_messageType
 20291  var _ protoreflect.MessageType = fastReflection_TestVersionFD1WithExtraAny_messageType{}
 20292  
 20293  type fastReflection_TestVersionFD1WithExtraAny_messageType struct{}
 20294  
 20295  func (x fastReflection_TestVersionFD1WithExtraAny_messageType) Zero() protoreflect.Message {
 20296  	return (*fastReflection_TestVersionFD1WithExtraAny)(nil)
 20297  }
 20298  func (x fastReflection_TestVersionFD1WithExtraAny_messageType) New() protoreflect.Message {
 20299  	return new(fastReflection_TestVersionFD1WithExtraAny)
 20300  }
 20301  func (x fastReflection_TestVersionFD1WithExtraAny_messageType) Descriptor() protoreflect.MessageDescriptor {
 20302  	return md_TestVersionFD1WithExtraAny
 20303  }
 20304  
 20305  // Descriptor returns message descriptor, which contains only the protobuf
 20306  // type information for the message.
 20307  func (x *fastReflection_TestVersionFD1WithExtraAny) Descriptor() protoreflect.MessageDescriptor {
 20308  	return md_TestVersionFD1WithExtraAny
 20309  }
 20310  
 20311  // Type returns the message type, which encapsulates both Go and protobuf
 20312  // type information. If the Go type information is not needed,
 20313  // it is recommended that the message descriptor be used instead.
 20314  func (x *fastReflection_TestVersionFD1WithExtraAny) Type() protoreflect.MessageType {
 20315  	return _fastReflection_TestVersionFD1WithExtraAny_messageType
 20316  }
 20317  
 20318  // New returns a newly allocated and mutable empty message.
 20319  func (x *fastReflection_TestVersionFD1WithExtraAny) New() protoreflect.Message {
 20320  	return new(fastReflection_TestVersionFD1WithExtraAny)
 20321  }
 20322  
 20323  // Interface unwraps the message reflection interface and
 20324  // returns the underlying ProtoMessage interface.
 20325  func (x *fastReflection_TestVersionFD1WithExtraAny) Interface() protoreflect.ProtoMessage {
 20326  	return (*TestVersionFD1WithExtraAny)(x)
 20327  }
 20328  
 20329  // Range iterates over every populated field in an undefined order,
 20330  // calling f for each field descriptor and value encountered.
 20331  // Range returns immediately if f returns false.
 20332  // While iterating, mutating operations may only be performed
 20333  // on the current field descriptor.
 20334  func (x *fastReflection_TestVersionFD1WithExtraAny) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 20335  	if x.X != int64(0) {
 20336  		value := protoreflect.ValueOfInt64(x.X)
 20337  		if !f(fd_TestVersionFD1WithExtraAny_x, value) {
 20338  			return
 20339  		}
 20340  	}
 20341  	if x.A != nil {
 20342  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 20343  		if !f(fd_TestVersionFD1WithExtraAny_a, value) {
 20344  			return
 20345  		}
 20346  	}
 20347  	if x.Sum != nil {
 20348  		switch o := x.Sum.(type) {
 20349  		case *TestVersionFD1WithExtraAny_E:
 20350  			v := o.E
 20351  			value := protoreflect.ValueOfInt32(v)
 20352  			if !f(fd_TestVersionFD1WithExtraAny_e, value) {
 20353  				return
 20354  			}
 20355  		case *TestVersionFD1WithExtraAny_F:
 20356  			v := o.F
 20357  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
 20358  			if !f(fd_TestVersionFD1WithExtraAny_f, value) {
 20359  				return
 20360  			}
 20361  		}
 20362  	}
 20363  	if x.G != nil {
 20364  		value := protoreflect.ValueOfMessage(x.G.ProtoReflect())
 20365  		if !f(fd_TestVersionFD1WithExtraAny_g, value) {
 20366  			return
 20367  		}
 20368  	}
 20369  	if len(x.H) != 0 {
 20370  		value := protoreflect.ValueOfList(&_TestVersionFD1WithExtraAny_9_list{list: &x.H})
 20371  		if !f(fd_TestVersionFD1WithExtraAny_h, value) {
 20372  			return
 20373  		}
 20374  	}
 20375  }
 20376  
 20377  // Has reports whether a field is populated.
 20378  //
 20379  // Some fields have the property of nullability where it is possible to
 20380  // distinguish between the default value of a field and whether the field
 20381  // was explicitly populated with the default value. Singular message fields,
 20382  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 20383  // fields are populated only if explicitly set.
 20384  //
 20385  // In other cases (aside from the nullable cases above),
 20386  // a proto3 scalar field is populated if it contains a non-zero value, and
 20387  // a repeated field is populated if it is non-empty.
 20388  func (x *fastReflection_TestVersionFD1WithExtraAny) Has(fd protoreflect.FieldDescriptor) bool {
 20389  	switch fd.FullName() {
 20390  	case "testpb.TestVersionFD1WithExtraAny.x":
 20391  		return x.X != int64(0)
 20392  	case "testpb.TestVersionFD1WithExtraAny.a":
 20393  		return x.A != nil
 20394  	case "testpb.TestVersionFD1WithExtraAny.e":
 20395  		if x.Sum == nil {
 20396  			return false
 20397  		} else if _, ok := x.Sum.(*TestVersionFD1WithExtraAny_E); ok {
 20398  			return true
 20399  		} else {
 20400  			return false
 20401  		}
 20402  	case "testpb.TestVersionFD1WithExtraAny.f":
 20403  		if x.Sum == nil {
 20404  			return false
 20405  		} else if _, ok := x.Sum.(*TestVersionFD1WithExtraAny_F); ok {
 20406  			return true
 20407  		} else {
 20408  			return false
 20409  		}
 20410  	case "testpb.TestVersionFD1WithExtraAny.g":
 20411  		return x.G != nil
 20412  	case "testpb.TestVersionFD1WithExtraAny.h":
 20413  		return len(x.H) != 0
 20414  	default:
 20415  		if fd.IsExtension() {
 20416  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20417  		}
 20418  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", fd.FullName()))
 20419  	}
 20420  }
 20421  
 20422  // Clear clears the field such that a subsequent Has call reports false.
 20423  //
 20424  // Clearing an extension field clears both the extension type and value
 20425  // associated with the given field number.
 20426  //
 20427  // Clear is a mutating operation and unsafe for concurrent use.
 20428  func (x *fastReflection_TestVersionFD1WithExtraAny) Clear(fd protoreflect.FieldDescriptor) {
 20429  	switch fd.FullName() {
 20430  	case "testpb.TestVersionFD1WithExtraAny.x":
 20431  		x.X = int64(0)
 20432  	case "testpb.TestVersionFD1WithExtraAny.a":
 20433  		x.A = nil
 20434  	case "testpb.TestVersionFD1WithExtraAny.e":
 20435  		x.Sum = nil
 20436  	case "testpb.TestVersionFD1WithExtraAny.f":
 20437  		x.Sum = nil
 20438  	case "testpb.TestVersionFD1WithExtraAny.g":
 20439  		x.G = nil
 20440  	case "testpb.TestVersionFD1WithExtraAny.h":
 20441  		x.H = nil
 20442  	default:
 20443  		if fd.IsExtension() {
 20444  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20445  		}
 20446  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", fd.FullName()))
 20447  	}
 20448  }
 20449  
 20450  // Get retrieves the value for a field.
 20451  //
 20452  // For unpopulated scalars, it returns the default value, where
 20453  // the default value of a bytes scalar is guaranteed to be a copy.
 20454  // For unpopulated composite types, it returns an empty, read-only view
 20455  // of the value; to obtain a mutable reference, use Mutable.
 20456  func (x *fastReflection_TestVersionFD1WithExtraAny) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 20457  	switch descriptor.FullName() {
 20458  	case "testpb.TestVersionFD1WithExtraAny.x":
 20459  		value := x.X
 20460  		return protoreflect.ValueOfInt64(value)
 20461  	case "testpb.TestVersionFD1WithExtraAny.a":
 20462  		value := x.A
 20463  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 20464  	case "testpb.TestVersionFD1WithExtraAny.e":
 20465  		if x.Sum == nil {
 20466  			return protoreflect.ValueOfInt32(int32(0))
 20467  		} else if v, ok := x.Sum.(*TestVersionFD1WithExtraAny_E); ok {
 20468  			return protoreflect.ValueOfInt32(v.E)
 20469  		} else {
 20470  			return protoreflect.ValueOfInt32(int32(0))
 20471  		}
 20472  	case "testpb.TestVersionFD1WithExtraAny.f":
 20473  		if x.Sum == nil {
 20474  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
 20475  		} else if v, ok := x.Sum.(*TestVersionFD1WithExtraAny_F); ok {
 20476  			return protoreflect.ValueOfMessage(v.F.ProtoReflect())
 20477  		} else {
 20478  			return protoreflect.ValueOfMessage((*TestVersion1)(nil).ProtoReflect())
 20479  		}
 20480  	case "testpb.TestVersionFD1WithExtraAny.g":
 20481  		value := x.G
 20482  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 20483  	case "testpb.TestVersionFD1WithExtraAny.h":
 20484  		if len(x.H) == 0 {
 20485  			return protoreflect.ValueOfList(&_TestVersionFD1WithExtraAny_9_list{})
 20486  		}
 20487  		listValue := &_TestVersionFD1WithExtraAny_9_list{list: &x.H}
 20488  		return protoreflect.ValueOfList(listValue)
 20489  	default:
 20490  		if descriptor.IsExtension() {
 20491  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20492  		}
 20493  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", descriptor.FullName()))
 20494  	}
 20495  }
 20496  
 20497  // Set stores the value for a field.
 20498  //
 20499  // For a field belonging to a oneof, it implicitly clears any other field
 20500  // that may be currently set within the same oneof.
 20501  // For extension fields, it implicitly stores the provided ExtensionType.
 20502  // When setting a composite type, it is unspecified whether the stored value
 20503  // aliases the source's memory in any way. If the composite value is an
 20504  // empty, read-only value, then it panics.
 20505  //
 20506  // Set is a mutating operation and unsafe for concurrent use.
 20507  func (x *fastReflection_TestVersionFD1WithExtraAny) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 20508  	switch fd.FullName() {
 20509  	case "testpb.TestVersionFD1WithExtraAny.x":
 20510  		x.X = value.Int()
 20511  	case "testpb.TestVersionFD1WithExtraAny.a":
 20512  		x.A = value.Message().Interface().(*TestVersion1)
 20513  	case "testpb.TestVersionFD1WithExtraAny.e":
 20514  		cv := int32(value.Int())
 20515  		x.Sum = &TestVersionFD1WithExtraAny_E{E: cv}
 20516  	case "testpb.TestVersionFD1WithExtraAny.f":
 20517  		cv := value.Message().Interface().(*TestVersion1)
 20518  		x.Sum = &TestVersionFD1WithExtraAny_F{F: cv}
 20519  	case "testpb.TestVersionFD1WithExtraAny.g":
 20520  		x.G = value.Message().Interface().(*AnyWithExtra)
 20521  	case "testpb.TestVersionFD1WithExtraAny.h":
 20522  		lv := value.List()
 20523  		clv := lv.(*_TestVersionFD1WithExtraAny_9_list)
 20524  		x.H = *clv.list
 20525  	default:
 20526  		if fd.IsExtension() {
 20527  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20528  		}
 20529  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", fd.FullName()))
 20530  	}
 20531  }
 20532  
 20533  // Mutable returns a mutable reference to a composite type.
 20534  //
 20535  // If the field is unpopulated, it may allocate a composite value.
 20536  // For a field belonging to a oneof, it implicitly clears any other field
 20537  // that may be currently set within the same oneof.
 20538  // For extension fields, it implicitly stores the provided ExtensionType
 20539  // if not already stored.
 20540  // It panics if the field does not contain a composite type.
 20541  //
 20542  // Mutable is a mutating operation and unsafe for concurrent use.
 20543  func (x *fastReflection_TestVersionFD1WithExtraAny) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 20544  	switch fd.FullName() {
 20545  	case "testpb.TestVersionFD1WithExtraAny.a":
 20546  		if x.A == nil {
 20547  			x.A = new(TestVersion1)
 20548  		}
 20549  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 20550  	case "testpb.TestVersionFD1WithExtraAny.f":
 20551  		if x.Sum == nil {
 20552  			value := &TestVersion1{}
 20553  			oneofValue := &TestVersionFD1WithExtraAny_F{F: value}
 20554  			x.Sum = oneofValue
 20555  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 20556  		}
 20557  		switch m := x.Sum.(type) {
 20558  		case *TestVersionFD1WithExtraAny_F:
 20559  			return protoreflect.ValueOfMessage(m.F.ProtoReflect())
 20560  		default:
 20561  			value := &TestVersion1{}
 20562  			oneofValue := &TestVersionFD1WithExtraAny_F{F: value}
 20563  			x.Sum = oneofValue
 20564  			return protoreflect.ValueOfMessage(value.ProtoReflect())
 20565  		}
 20566  	case "testpb.TestVersionFD1WithExtraAny.g":
 20567  		if x.G == nil {
 20568  			x.G = new(AnyWithExtra)
 20569  		}
 20570  		return protoreflect.ValueOfMessage(x.G.ProtoReflect())
 20571  	case "testpb.TestVersionFD1WithExtraAny.h":
 20572  		if x.H == nil {
 20573  			x.H = []*TestVersion1{}
 20574  		}
 20575  		value := &_TestVersionFD1WithExtraAny_9_list{list: &x.H}
 20576  		return protoreflect.ValueOfList(value)
 20577  	case "testpb.TestVersionFD1WithExtraAny.x":
 20578  		panic(fmt.Errorf("field x of message testpb.TestVersionFD1WithExtraAny is not mutable"))
 20579  	case "testpb.TestVersionFD1WithExtraAny.e":
 20580  		panic(fmt.Errorf("field e of message testpb.TestVersionFD1WithExtraAny is not mutable"))
 20581  	default:
 20582  		if fd.IsExtension() {
 20583  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20584  		}
 20585  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", fd.FullName()))
 20586  	}
 20587  }
 20588  
 20589  // NewField returns a new value that is assignable to the field
 20590  // for the given descriptor. For scalars, this returns the default value.
 20591  // For lists, maps, and messages, this returns a new, empty, mutable value.
 20592  func (x *fastReflection_TestVersionFD1WithExtraAny) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 20593  	switch fd.FullName() {
 20594  	case "testpb.TestVersionFD1WithExtraAny.x":
 20595  		return protoreflect.ValueOfInt64(int64(0))
 20596  	case "testpb.TestVersionFD1WithExtraAny.a":
 20597  		m := new(TestVersion1)
 20598  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 20599  	case "testpb.TestVersionFD1WithExtraAny.e":
 20600  		return protoreflect.ValueOfInt32(int32(0))
 20601  	case "testpb.TestVersionFD1WithExtraAny.f":
 20602  		value := &TestVersion1{}
 20603  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 20604  	case "testpb.TestVersionFD1WithExtraAny.g":
 20605  		m := new(AnyWithExtra)
 20606  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 20607  	case "testpb.TestVersionFD1WithExtraAny.h":
 20608  		list := []*TestVersion1{}
 20609  		return protoreflect.ValueOfList(&_TestVersionFD1WithExtraAny_9_list{list: &list})
 20610  	default:
 20611  		if fd.IsExtension() {
 20612  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestVersionFD1WithExtraAny"))
 20613  		}
 20614  		panic(fmt.Errorf("message testpb.TestVersionFD1WithExtraAny does not contain field %s", fd.FullName()))
 20615  	}
 20616  }
 20617  
 20618  // WhichOneof reports which field within the oneof is populated,
 20619  // returning nil if none are populated.
 20620  // It panics if the oneof descriptor does not belong to this message.
 20621  func (x *fastReflection_TestVersionFD1WithExtraAny) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 20622  	switch d.FullName() {
 20623  	case "testpb.TestVersionFD1WithExtraAny.sum":
 20624  		if x.Sum == nil {
 20625  			return nil
 20626  		}
 20627  		switch x.Sum.(type) {
 20628  		case *TestVersionFD1WithExtraAny_E:
 20629  			return x.Descriptor().Fields().ByName("e")
 20630  		case *TestVersionFD1WithExtraAny_F:
 20631  			return x.Descriptor().Fields().ByName("f")
 20632  		}
 20633  	default:
 20634  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestVersionFD1WithExtraAny", d.FullName()))
 20635  	}
 20636  	panic("unreachable")
 20637  }
 20638  
 20639  // GetUnknown retrieves the entire list of unknown fields.
 20640  // The caller may only mutate the contents of the RawFields
 20641  // if the mutated bytes are stored back into the message with SetUnknown.
 20642  func (x *fastReflection_TestVersionFD1WithExtraAny) GetUnknown() protoreflect.RawFields {
 20643  	return x.unknownFields
 20644  }
 20645  
 20646  // SetUnknown stores an entire list of unknown fields.
 20647  // The raw fields must be syntactically valid according to the wire format.
 20648  // An implementation may panic if this is not the case.
 20649  // Once stored, the caller must not mutate the content of the RawFields.
 20650  // An empty RawFields may be passed to clear the fields.
 20651  //
 20652  // SetUnknown is a mutating operation and unsafe for concurrent use.
 20653  func (x *fastReflection_TestVersionFD1WithExtraAny) SetUnknown(fields protoreflect.RawFields) {
 20654  	x.unknownFields = fields
 20655  }
 20656  
 20657  // IsValid reports whether the message is valid.
 20658  //
 20659  // An invalid message is an empty, read-only value.
 20660  //
 20661  // An invalid message often corresponds to a nil pointer of the concrete
 20662  // message type, but the details are implementation dependent.
 20663  // Validity is not part of the protobuf data model, and may not
 20664  // be preserved in marshaling or other operations.
 20665  func (x *fastReflection_TestVersionFD1WithExtraAny) IsValid() bool {
 20666  	return x != nil
 20667  }
 20668  
 20669  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 20670  // This method may return nil.
 20671  //
 20672  // The returned methods type is identical to
 20673  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 20674  // Consult the protoiface package documentation for details.
 20675  func (x *fastReflection_TestVersionFD1WithExtraAny) ProtoMethods() *protoiface.Methods {
 20676  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 20677  		x := input.Message.Interface().(*TestVersionFD1WithExtraAny)
 20678  		if x == nil {
 20679  			return protoiface.SizeOutput{
 20680  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20681  				Size:              0,
 20682  			}
 20683  		}
 20684  		options := runtime.SizeInputToOptions(input)
 20685  		_ = options
 20686  		var n int
 20687  		var l int
 20688  		_ = l
 20689  		if x.X != 0 {
 20690  			n += 1 + runtime.Sov(uint64(x.X))
 20691  		}
 20692  		if x.A != nil {
 20693  			l = options.Size(x.A)
 20694  			n += 1 + l + runtime.Sov(uint64(l))
 20695  		}
 20696  		switch x := x.Sum.(type) {
 20697  		case *TestVersionFD1WithExtraAny_E:
 20698  			if x == nil {
 20699  				break
 20700  			}
 20701  			n += 1 + runtime.Sov(uint64(x.E))
 20702  		case *TestVersionFD1WithExtraAny_F:
 20703  			if x == nil {
 20704  				break
 20705  			}
 20706  			l = options.Size(x.F)
 20707  			n += 1 + l + runtime.Sov(uint64(l))
 20708  		}
 20709  		if x.G != nil {
 20710  			l = options.Size(x.G)
 20711  			n += 1 + l + runtime.Sov(uint64(l))
 20712  		}
 20713  		if len(x.H) > 0 {
 20714  			for _, e := range x.H {
 20715  				l = options.Size(e)
 20716  				n += 1 + l + runtime.Sov(uint64(l))
 20717  			}
 20718  		}
 20719  		if x.unknownFields != nil {
 20720  			n += len(x.unknownFields)
 20721  		}
 20722  		return protoiface.SizeOutput{
 20723  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20724  			Size:              n,
 20725  		}
 20726  	}
 20727  
 20728  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 20729  		x := input.Message.Interface().(*TestVersionFD1WithExtraAny)
 20730  		if x == nil {
 20731  			return protoiface.MarshalOutput{
 20732  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20733  				Buf:               input.Buf,
 20734  			}, nil
 20735  		}
 20736  		options := runtime.MarshalInputToOptions(input)
 20737  		_ = options
 20738  		size := options.Size(x)
 20739  		dAtA := make([]byte, size)
 20740  		i := len(dAtA)
 20741  		_ = i
 20742  		var l int
 20743  		_ = l
 20744  		if x.unknownFields != nil {
 20745  			i -= len(x.unknownFields)
 20746  			copy(dAtA[i:], x.unknownFields)
 20747  		}
 20748  		switch x := x.Sum.(type) {
 20749  		case *TestVersionFD1WithExtraAny_E:
 20750  			i = runtime.EncodeVarint(dAtA, i, uint64(x.E))
 20751  			i--
 20752  			dAtA[i] = 0x30
 20753  		case *TestVersionFD1WithExtraAny_F:
 20754  			encoded, err := options.Marshal(x.F)
 20755  			if err != nil {
 20756  				return protoiface.MarshalOutput{
 20757  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20758  					Buf:               input.Buf,
 20759  				}, err
 20760  			}
 20761  			i -= len(encoded)
 20762  			copy(dAtA[i:], encoded)
 20763  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 20764  			i--
 20765  			dAtA[i] = 0x3a
 20766  		}
 20767  		if len(x.H) > 0 {
 20768  			for iNdEx := len(x.H) - 1; iNdEx >= 0; iNdEx-- {
 20769  				encoded, err := options.Marshal(x.H[iNdEx])
 20770  				if err != nil {
 20771  					return protoiface.MarshalOutput{
 20772  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20773  						Buf:               input.Buf,
 20774  					}, err
 20775  				}
 20776  				i -= len(encoded)
 20777  				copy(dAtA[i:], encoded)
 20778  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 20779  				i--
 20780  				dAtA[i] = 0x4a
 20781  			}
 20782  		}
 20783  		if x.G != nil {
 20784  			encoded, err := options.Marshal(x.G)
 20785  			if err != nil {
 20786  				return protoiface.MarshalOutput{
 20787  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20788  					Buf:               input.Buf,
 20789  				}, err
 20790  			}
 20791  			i -= len(encoded)
 20792  			copy(dAtA[i:], encoded)
 20793  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 20794  			i--
 20795  			dAtA[i] = 0x42
 20796  		}
 20797  		if x.A != nil {
 20798  			encoded, err := options.Marshal(x.A)
 20799  			if err != nil {
 20800  				return protoiface.MarshalOutput{
 20801  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20802  					Buf:               input.Buf,
 20803  				}, err
 20804  			}
 20805  			i -= len(encoded)
 20806  			copy(dAtA[i:], encoded)
 20807  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 20808  			i--
 20809  			dAtA[i] = 0x12
 20810  		}
 20811  		if x.X != 0 {
 20812  			i = runtime.EncodeVarint(dAtA, i, uint64(x.X))
 20813  			i--
 20814  			dAtA[i] = 0x8
 20815  		}
 20816  		if input.Buf != nil {
 20817  			input.Buf = append(input.Buf, dAtA...)
 20818  		} else {
 20819  			input.Buf = dAtA
 20820  		}
 20821  		return protoiface.MarshalOutput{
 20822  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20823  			Buf:               input.Buf,
 20824  		}, nil
 20825  	}
 20826  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 20827  		x := input.Message.Interface().(*TestVersionFD1WithExtraAny)
 20828  		if x == nil {
 20829  			return protoiface.UnmarshalOutput{
 20830  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 20831  				Flags:             input.Flags,
 20832  			}, nil
 20833  		}
 20834  		options := runtime.UnmarshalInputToOptions(input)
 20835  		_ = options
 20836  		dAtA := input.Buf
 20837  		l := len(dAtA)
 20838  		iNdEx := 0
 20839  		for iNdEx < l {
 20840  			preIndex := iNdEx
 20841  			var wire uint64
 20842  			for shift := uint(0); ; shift += 7 {
 20843  				if shift >= 64 {
 20844  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20845  				}
 20846  				if iNdEx >= l {
 20847  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20848  				}
 20849  				b := dAtA[iNdEx]
 20850  				iNdEx++
 20851  				wire |= uint64(b&0x7F) << shift
 20852  				if b < 0x80 {
 20853  					break
 20854  				}
 20855  			}
 20856  			fieldNum := int32(wire >> 3)
 20857  			wireType := int(wire & 0x7)
 20858  			if wireType == 4 {
 20859  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersionFD1WithExtraAny: wiretype end group for non-group")
 20860  			}
 20861  			if fieldNum <= 0 {
 20862  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestVersionFD1WithExtraAny: illegal tag %d (wire type %d)", fieldNum, wire)
 20863  			}
 20864  			switch fieldNum {
 20865  			case 1:
 20866  				if wireType != 0 {
 20867  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 20868  				}
 20869  				x.X = 0
 20870  				for shift := uint(0); ; shift += 7 {
 20871  					if shift >= 64 {
 20872  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20873  					}
 20874  					if iNdEx >= l {
 20875  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20876  					}
 20877  					b := dAtA[iNdEx]
 20878  					iNdEx++
 20879  					x.X |= int64(b&0x7F) << shift
 20880  					if b < 0x80 {
 20881  						break
 20882  					}
 20883  				}
 20884  			case 2:
 20885  				if wireType != 2 {
 20886  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 20887  				}
 20888  				var msglen int
 20889  				for shift := uint(0); ; shift += 7 {
 20890  					if shift >= 64 {
 20891  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20892  					}
 20893  					if iNdEx >= l {
 20894  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20895  					}
 20896  					b := dAtA[iNdEx]
 20897  					iNdEx++
 20898  					msglen |= int(b&0x7F) << shift
 20899  					if b < 0x80 {
 20900  						break
 20901  					}
 20902  				}
 20903  				if msglen < 0 {
 20904  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20905  				}
 20906  				postIndex := iNdEx + msglen
 20907  				if postIndex < 0 {
 20908  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20909  				}
 20910  				if postIndex > l {
 20911  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20912  				}
 20913  				if x.A == nil {
 20914  					x.A = &TestVersion1{}
 20915  				}
 20916  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 20917  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20918  				}
 20919  				iNdEx = postIndex
 20920  			case 6:
 20921  				if wireType != 0 {
 20922  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 20923  				}
 20924  				var v int32
 20925  				for shift := uint(0); ; shift += 7 {
 20926  					if shift >= 64 {
 20927  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20928  					}
 20929  					if iNdEx >= l {
 20930  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20931  					}
 20932  					b := dAtA[iNdEx]
 20933  					iNdEx++
 20934  					v |= int32(b&0x7F) << shift
 20935  					if b < 0x80 {
 20936  						break
 20937  					}
 20938  				}
 20939  				x.Sum = &TestVersionFD1WithExtraAny_E{v}
 20940  			case 7:
 20941  				if wireType != 2 {
 20942  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 20943  				}
 20944  				var msglen int
 20945  				for shift := uint(0); ; shift += 7 {
 20946  					if shift >= 64 {
 20947  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20948  					}
 20949  					if iNdEx >= l {
 20950  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20951  					}
 20952  					b := dAtA[iNdEx]
 20953  					iNdEx++
 20954  					msglen |= int(b&0x7F) << shift
 20955  					if b < 0x80 {
 20956  						break
 20957  					}
 20958  				}
 20959  				if msglen < 0 {
 20960  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20961  				}
 20962  				postIndex := iNdEx + msglen
 20963  				if postIndex < 0 {
 20964  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20965  				}
 20966  				if postIndex > l {
 20967  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20968  				}
 20969  				v := &TestVersion1{}
 20970  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 20971  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 20972  				}
 20973  				x.Sum = &TestVersionFD1WithExtraAny_F{v}
 20974  				iNdEx = postIndex
 20975  			case 8:
 20976  				if wireType != 2 {
 20977  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 20978  				}
 20979  				var msglen int
 20980  				for shift := uint(0); ; shift += 7 {
 20981  					if shift >= 64 {
 20982  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 20983  					}
 20984  					if iNdEx >= l {
 20985  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 20986  					}
 20987  					b := dAtA[iNdEx]
 20988  					iNdEx++
 20989  					msglen |= int(b&0x7F) << shift
 20990  					if b < 0x80 {
 20991  						break
 20992  					}
 20993  				}
 20994  				if msglen < 0 {
 20995  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 20996  				}
 20997  				postIndex := iNdEx + msglen
 20998  				if postIndex < 0 {
 20999  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21000  				}
 21001  				if postIndex > l {
 21002  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21003  				}
 21004  				if x.G == nil {
 21005  					x.G = &AnyWithExtra{}
 21006  				}
 21007  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.G); err != nil {
 21008  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 21009  				}
 21010  				iNdEx = postIndex
 21011  			case 9:
 21012  				if wireType != 2 {
 21013  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 21014  				}
 21015  				var msglen int
 21016  				for shift := uint(0); ; shift += 7 {
 21017  					if shift >= 64 {
 21018  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 21019  					}
 21020  					if iNdEx >= l {
 21021  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21022  					}
 21023  					b := dAtA[iNdEx]
 21024  					iNdEx++
 21025  					msglen |= int(b&0x7F) << shift
 21026  					if b < 0x80 {
 21027  						break
 21028  					}
 21029  				}
 21030  				if msglen < 0 {
 21031  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21032  				}
 21033  				postIndex := iNdEx + msglen
 21034  				if postIndex < 0 {
 21035  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21036  				}
 21037  				if postIndex > l {
 21038  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21039  				}
 21040  				x.H = append(x.H, &TestVersion1{})
 21041  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.H[len(x.H)-1]); err != nil {
 21042  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 21043  				}
 21044  				iNdEx = postIndex
 21045  			default:
 21046  				iNdEx = preIndex
 21047  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 21048  				if err != nil {
 21049  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 21050  				}
 21051  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 21052  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21053  				}
 21054  				if (iNdEx + skippy) > l {
 21055  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21056  				}
 21057  				if !options.DiscardUnknown {
 21058  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 21059  				}
 21060  				iNdEx += skippy
 21061  			}
 21062  		}
 21063  
 21064  		if iNdEx > l {
 21065  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21066  		}
 21067  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 21068  	}
 21069  	return &protoiface.Methods{
 21070  		NoUnkeyedLiterals: struct{}{},
 21071  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 21072  		Size:              size,
 21073  		Marshal:           marshal,
 21074  		Unmarshal:         unmarshal,
 21075  		Merge:             nil,
 21076  		CheckInitialized:  nil,
 21077  	}
 21078  }
 21079  
 21080  var (
 21081  	md_AnyWithExtra   protoreflect.MessageDescriptor
 21082  	fd_AnyWithExtra_a protoreflect.FieldDescriptor
 21083  	fd_AnyWithExtra_b protoreflect.FieldDescriptor
 21084  	fd_AnyWithExtra_c protoreflect.FieldDescriptor
 21085  )
 21086  
 21087  func init() {
 21088  	file_testpb_unknonwnproto_proto_init()
 21089  	md_AnyWithExtra = File_testpb_unknonwnproto_proto.Messages().ByName("AnyWithExtra")
 21090  	fd_AnyWithExtra_a = md_AnyWithExtra.Fields().ByName("a")
 21091  	fd_AnyWithExtra_b = md_AnyWithExtra.Fields().ByName("b")
 21092  	fd_AnyWithExtra_c = md_AnyWithExtra.Fields().ByName("c")
 21093  }
 21094  
 21095  var _ protoreflect.Message = (*fastReflection_AnyWithExtra)(nil)
 21096  
 21097  type fastReflection_AnyWithExtra AnyWithExtra
 21098  
 21099  func (x *AnyWithExtra) ProtoReflect() protoreflect.Message {
 21100  	return (*fastReflection_AnyWithExtra)(x)
 21101  }
 21102  
 21103  func (x *AnyWithExtra) slowProtoReflect() protoreflect.Message {
 21104  	mi := &file_testpb_unknonwnproto_proto_msgTypes[19]
 21105  	if protoimpl.UnsafeEnabled && x != nil {
 21106  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 21107  		if ms.LoadMessageInfo() == nil {
 21108  			ms.StoreMessageInfo(mi)
 21109  		}
 21110  		return ms
 21111  	}
 21112  	return mi.MessageOf(x)
 21113  }
 21114  
 21115  var _fastReflection_AnyWithExtra_messageType fastReflection_AnyWithExtra_messageType
 21116  var _ protoreflect.MessageType = fastReflection_AnyWithExtra_messageType{}
 21117  
 21118  type fastReflection_AnyWithExtra_messageType struct{}
 21119  
 21120  func (x fastReflection_AnyWithExtra_messageType) Zero() protoreflect.Message {
 21121  	return (*fastReflection_AnyWithExtra)(nil)
 21122  }
 21123  func (x fastReflection_AnyWithExtra_messageType) New() protoreflect.Message {
 21124  	return new(fastReflection_AnyWithExtra)
 21125  }
 21126  func (x fastReflection_AnyWithExtra_messageType) Descriptor() protoreflect.MessageDescriptor {
 21127  	return md_AnyWithExtra
 21128  }
 21129  
 21130  // Descriptor returns message descriptor, which contains only the protobuf
 21131  // type information for the message.
 21132  func (x *fastReflection_AnyWithExtra) Descriptor() protoreflect.MessageDescriptor {
 21133  	return md_AnyWithExtra
 21134  }
 21135  
 21136  // Type returns the message type, which encapsulates both Go and protobuf
 21137  // type information. If the Go type information is not needed,
 21138  // it is recommended that the message descriptor be used instead.
 21139  func (x *fastReflection_AnyWithExtra) Type() protoreflect.MessageType {
 21140  	return _fastReflection_AnyWithExtra_messageType
 21141  }
 21142  
 21143  // New returns a newly allocated and mutable empty message.
 21144  func (x *fastReflection_AnyWithExtra) New() protoreflect.Message {
 21145  	return new(fastReflection_AnyWithExtra)
 21146  }
 21147  
 21148  // Interface unwraps the message reflection interface and
 21149  // returns the underlying ProtoMessage interface.
 21150  func (x *fastReflection_AnyWithExtra) Interface() protoreflect.ProtoMessage {
 21151  	return (*AnyWithExtra)(x)
 21152  }
 21153  
 21154  // Range iterates over every populated field in an undefined order,
 21155  // calling f for each field descriptor and value encountered.
 21156  // Range returns immediately if f returns false.
 21157  // While iterating, mutating operations may only be performed
 21158  // on the current field descriptor.
 21159  func (x *fastReflection_AnyWithExtra) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 21160  	if x.A != nil {
 21161  		value := protoreflect.ValueOfMessage(x.A.ProtoReflect())
 21162  		if !f(fd_AnyWithExtra_a, value) {
 21163  			return
 21164  		}
 21165  	}
 21166  	if x.B != int64(0) {
 21167  		value := protoreflect.ValueOfInt64(x.B)
 21168  		if !f(fd_AnyWithExtra_b, value) {
 21169  			return
 21170  		}
 21171  	}
 21172  	if x.C != int64(0) {
 21173  		value := protoreflect.ValueOfInt64(x.C)
 21174  		if !f(fd_AnyWithExtra_c, value) {
 21175  			return
 21176  		}
 21177  	}
 21178  }
 21179  
 21180  // Has reports whether a field is populated.
 21181  //
 21182  // Some fields have the property of nullability where it is possible to
 21183  // distinguish between the default value of a field and whether the field
 21184  // was explicitly populated with the default value. Singular message fields,
 21185  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 21186  // fields are populated only if explicitly set.
 21187  //
 21188  // In other cases (aside from the nullable cases above),
 21189  // a proto3 scalar field is populated if it contains a non-zero value, and
 21190  // a repeated field is populated if it is non-empty.
 21191  func (x *fastReflection_AnyWithExtra) Has(fd protoreflect.FieldDescriptor) bool {
 21192  	switch fd.FullName() {
 21193  	case "testpb.AnyWithExtra.a":
 21194  		return x.A != nil
 21195  	case "testpb.AnyWithExtra.b":
 21196  		return x.B != int64(0)
 21197  	case "testpb.AnyWithExtra.c":
 21198  		return x.C != int64(0)
 21199  	default:
 21200  		if fd.IsExtension() {
 21201  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21202  		}
 21203  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", fd.FullName()))
 21204  	}
 21205  }
 21206  
 21207  // Clear clears the field such that a subsequent Has call reports false.
 21208  //
 21209  // Clearing an extension field clears both the extension type and value
 21210  // associated with the given field number.
 21211  //
 21212  // Clear is a mutating operation and unsafe for concurrent use.
 21213  func (x *fastReflection_AnyWithExtra) Clear(fd protoreflect.FieldDescriptor) {
 21214  	switch fd.FullName() {
 21215  	case "testpb.AnyWithExtra.a":
 21216  		x.A = nil
 21217  	case "testpb.AnyWithExtra.b":
 21218  		x.B = int64(0)
 21219  	case "testpb.AnyWithExtra.c":
 21220  		x.C = int64(0)
 21221  	default:
 21222  		if fd.IsExtension() {
 21223  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21224  		}
 21225  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", fd.FullName()))
 21226  	}
 21227  }
 21228  
 21229  // Get retrieves the value for a field.
 21230  //
 21231  // For unpopulated scalars, it returns the default value, where
 21232  // the default value of a bytes scalar is guaranteed to be a copy.
 21233  // For unpopulated composite types, it returns an empty, read-only view
 21234  // of the value; to obtain a mutable reference, use Mutable.
 21235  func (x *fastReflection_AnyWithExtra) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 21236  	switch descriptor.FullName() {
 21237  	case "testpb.AnyWithExtra.a":
 21238  		value := x.A
 21239  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 21240  	case "testpb.AnyWithExtra.b":
 21241  		value := x.B
 21242  		return protoreflect.ValueOfInt64(value)
 21243  	case "testpb.AnyWithExtra.c":
 21244  		value := x.C
 21245  		return protoreflect.ValueOfInt64(value)
 21246  	default:
 21247  		if descriptor.IsExtension() {
 21248  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21249  		}
 21250  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", descriptor.FullName()))
 21251  	}
 21252  }
 21253  
 21254  // Set stores the value for a field.
 21255  //
 21256  // For a field belonging to a oneof, it implicitly clears any other field
 21257  // that may be currently set within the same oneof.
 21258  // For extension fields, it implicitly stores the provided ExtensionType.
 21259  // When setting a composite type, it is unspecified whether the stored value
 21260  // aliases the source's memory in any way. If the composite value is an
 21261  // empty, read-only value, then it panics.
 21262  //
 21263  // Set is a mutating operation and unsafe for concurrent use.
 21264  func (x *fastReflection_AnyWithExtra) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 21265  	switch fd.FullName() {
 21266  	case "testpb.AnyWithExtra.a":
 21267  		x.A = value.Message().Interface().(*anypb.Any)
 21268  	case "testpb.AnyWithExtra.b":
 21269  		x.B = value.Int()
 21270  	case "testpb.AnyWithExtra.c":
 21271  		x.C = value.Int()
 21272  	default:
 21273  		if fd.IsExtension() {
 21274  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21275  		}
 21276  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", fd.FullName()))
 21277  	}
 21278  }
 21279  
 21280  // Mutable returns a mutable reference to a composite type.
 21281  //
 21282  // If the field is unpopulated, it may allocate a composite value.
 21283  // For a field belonging to a oneof, it implicitly clears any other field
 21284  // that may be currently set within the same oneof.
 21285  // For extension fields, it implicitly stores the provided ExtensionType
 21286  // if not already stored.
 21287  // It panics if the field does not contain a composite type.
 21288  //
 21289  // Mutable is a mutating operation and unsafe for concurrent use.
 21290  func (x *fastReflection_AnyWithExtra) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 21291  	switch fd.FullName() {
 21292  	case "testpb.AnyWithExtra.a":
 21293  		if x.A == nil {
 21294  			x.A = new(anypb.Any)
 21295  		}
 21296  		return protoreflect.ValueOfMessage(x.A.ProtoReflect())
 21297  	case "testpb.AnyWithExtra.b":
 21298  		panic(fmt.Errorf("field b of message testpb.AnyWithExtra is not mutable"))
 21299  	case "testpb.AnyWithExtra.c":
 21300  		panic(fmt.Errorf("field c of message testpb.AnyWithExtra is not mutable"))
 21301  	default:
 21302  		if fd.IsExtension() {
 21303  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21304  		}
 21305  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", fd.FullName()))
 21306  	}
 21307  }
 21308  
 21309  // NewField returns a new value that is assignable to the field
 21310  // for the given descriptor. For scalars, this returns the default value.
 21311  // For lists, maps, and messages, this returns a new, empty, mutable value.
 21312  func (x *fastReflection_AnyWithExtra) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 21313  	switch fd.FullName() {
 21314  	case "testpb.AnyWithExtra.a":
 21315  		m := new(anypb.Any)
 21316  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 21317  	case "testpb.AnyWithExtra.b":
 21318  		return protoreflect.ValueOfInt64(int64(0))
 21319  	case "testpb.AnyWithExtra.c":
 21320  		return protoreflect.ValueOfInt64(int64(0))
 21321  	default:
 21322  		if fd.IsExtension() {
 21323  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.AnyWithExtra"))
 21324  		}
 21325  		panic(fmt.Errorf("message testpb.AnyWithExtra does not contain field %s", fd.FullName()))
 21326  	}
 21327  }
 21328  
 21329  // WhichOneof reports which field within the oneof is populated,
 21330  // returning nil if none are populated.
 21331  // It panics if the oneof descriptor does not belong to this message.
 21332  func (x *fastReflection_AnyWithExtra) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 21333  	switch d.FullName() {
 21334  	default:
 21335  		panic(fmt.Errorf("%s is not a oneof field in testpb.AnyWithExtra", d.FullName()))
 21336  	}
 21337  	panic("unreachable")
 21338  }
 21339  
 21340  // GetUnknown retrieves the entire list of unknown fields.
 21341  // The caller may only mutate the contents of the RawFields
 21342  // if the mutated bytes are stored back into the message with SetUnknown.
 21343  func (x *fastReflection_AnyWithExtra) GetUnknown() protoreflect.RawFields {
 21344  	return x.unknownFields
 21345  }
 21346  
 21347  // SetUnknown stores an entire list of unknown fields.
 21348  // The raw fields must be syntactically valid according to the wire format.
 21349  // An implementation may panic if this is not the case.
 21350  // Once stored, the caller must not mutate the content of the RawFields.
 21351  // An empty RawFields may be passed to clear the fields.
 21352  //
 21353  // SetUnknown is a mutating operation and unsafe for concurrent use.
 21354  func (x *fastReflection_AnyWithExtra) SetUnknown(fields protoreflect.RawFields) {
 21355  	x.unknownFields = fields
 21356  }
 21357  
 21358  // IsValid reports whether the message is valid.
 21359  //
 21360  // An invalid message is an empty, read-only value.
 21361  //
 21362  // An invalid message often corresponds to a nil pointer of the concrete
 21363  // message type, but the details are implementation dependent.
 21364  // Validity is not part of the protobuf data model, and may not
 21365  // be preserved in marshaling or other operations.
 21366  func (x *fastReflection_AnyWithExtra) IsValid() bool {
 21367  	return x != nil
 21368  }
 21369  
 21370  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 21371  // This method may return nil.
 21372  //
 21373  // The returned methods type is identical to
 21374  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 21375  // Consult the protoiface package documentation for details.
 21376  func (x *fastReflection_AnyWithExtra) ProtoMethods() *protoiface.Methods {
 21377  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 21378  		x := input.Message.Interface().(*AnyWithExtra)
 21379  		if x == nil {
 21380  			return protoiface.SizeOutput{
 21381  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21382  				Size:              0,
 21383  			}
 21384  		}
 21385  		options := runtime.SizeInputToOptions(input)
 21386  		_ = options
 21387  		var n int
 21388  		var l int
 21389  		_ = l
 21390  		if x.A != nil {
 21391  			l = options.Size(x.A)
 21392  			n += 1 + l + runtime.Sov(uint64(l))
 21393  		}
 21394  		if x.B != 0 {
 21395  			n += 1 + runtime.Sov(uint64(x.B))
 21396  		}
 21397  		if x.C != 0 {
 21398  			n += 1 + runtime.Sov(uint64(x.C))
 21399  		}
 21400  		if x.unknownFields != nil {
 21401  			n += len(x.unknownFields)
 21402  		}
 21403  		return protoiface.SizeOutput{
 21404  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21405  			Size:              n,
 21406  		}
 21407  	}
 21408  
 21409  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 21410  		x := input.Message.Interface().(*AnyWithExtra)
 21411  		if x == nil {
 21412  			return protoiface.MarshalOutput{
 21413  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21414  				Buf:               input.Buf,
 21415  			}, nil
 21416  		}
 21417  		options := runtime.MarshalInputToOptions(input)
 21418  		_ = options
 21419  		size := options.Size(x)
 21420  		dAtA := make([]byte, size)
 21421  		i := len(dAtA)
 21422  		_ = i
 21423  		var l int
 21424  		_ = l
 21425  		if x.unknownFields != nil {
 21426  			i -= len(x.unknownFields)
 21427  			copy(dAtA[i:], x.unknownFields)
 21428  		}
 21429  		if x.C != 0 {
 21430  			i = runtime.EncodeVarint(dAtA, i, uint64(x.C))
 21431  			i--
 21432  			dAtA[i] = 0x20
 21433  		}
 21434  		if x.B != 0 {
 21435  			i = runtime.EncodeVarint(dAtA, i, uint64(x.B))
 21436  			i--
 21437  			dAtA[i] = 0x18
 21438  		}
 21439  		if x.A != nil {
 21440  			encoded, err := options.Marshal(x.A)
 21441  			if err != nil {
 21442  				return protoiface.MarshalOutput{
 21443  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21444  					Buf:               input.Buf,
 21445  				}, err
 21446  			}
 21447  			i -= len(encoded)
 21448  			copy(dAtA[i:], encoded)
 21449  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 21450  			i--
 21451  			dAtA[i] = 0xa
 21452  		}
 21453  		if input.Buf != nil {
 21454  			input.Buf = append(input.Buf, dAtA...)
 21455  		} else {
 21456  			input.Buf = dAtA
 21457  		}
 21458  		return protoiface.MarshalOutput{
 21459  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21460  			Buf:               input.Buf,
 21461  		}, nil
 21462  	}
 21463  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 21464  		x := input.Message.Interface().(*AnyWithExtra)
 21465  		if x == nil {
 21466  			return protoiface.UnmarshalOutput{
 21467  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 21468  				Flags:             input.Flags,
 21469  			}, nil
 21470  		}
 21471  		options := runtime.UnmarshalInputToOptions(input)
 21472  		_ = options
 21473  		dAtA := input.Buf
 21474  		l := len(dAtA)
 21475  		iNdEx := 0
 21476  		for iNdEx < l {
 21477  			preIndex := iNdEx
 21478  			var wire uint64
 21479  			for shift := uint(0); ; shift += 7 {
 21480  				if shift >= 64 {
 21481  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 21482  				}
 21483  				if iNdEx >= l {
 21484  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21485  				}
 21486  				b := dAtA[iNdEx]
 21487  				iNdEx++
 21488  				wire |= uint64(b&0x7F) << shift
 21489  				if b < 0x80 {
 21490  					break
 21491  				}
 21492  			}
 21493  			fieldNum := int32(wire >> 3)
 21494  			wireType := int(wire & 0x7)
 21495  			if wireType == 4 {
 21496  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AnyWithExtra: wiretype end group for non-group")
 21497  			}
 21498  			if fieldNum <= 0 {
 21499  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AnyWithExtra: illegal tag %d (wire type %d)", fieldNum, wire)
 21500  			}
 21501  			switch fieldNum {
 21502  			case 1:
 21503  				if wireType != 2 {
 21504  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 21505  				}
 21506  				var msglen int
 21507  				for shift := uint(0); ; shift += 7 {
 21508  					if shift >= 64 {
 21509  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 21510  					}
 21511  					if iNdEx >= l {
 21512  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21513  					}
 21514  					b := dAtA[iNdEx]
 21515  					iNdEx++
 21516  					msglen |= int(b&0x7F) << shift
 21517  					if b < 0x80 {
 21518  						break
 21519  					}
 21520  				}
 21521  				if msglen < 0 {
 21522  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21523  				}
 21524  				postIndex := iNdEx + msglen
 21525  				if postIndex < 0 {
 21526  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21527  				}
 21528  				if postIndex > l {
 21529  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21530  				}
 21531  				if x.A == nil {
 21532  					x.A = &anypb.Any{}
 21533  				}
 21534  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.A); err != nil {
 21535  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 21536  				}
 21537  				iNdEx = postIndex
 21538  			case 3:
 21539  				if wireType != 0 {
 21540  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 21541  				}
 21542  				x.B = 0
 21543  				for shift := uint(0); ; shift += 7 {
 21544  					if shift >= 64 {
 21545  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 21546  					}
 21547  					if iNdEx >= l {
 21548  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21549  					}
 21550  					b := dAtA[iNdEx]
 21551  					iNdEx++
 21552  					x.B |= int64(b&0x7F) << shift
 21553  					if b < 0x80 {
 21554  						break
 21555  					}
 21556  				}
 21557  			case 4:
 21558  				if wireType != 0 {
 21559  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 21560  				}
 21561  				x.C = 0
 21562  				for shift := uint(0); ; shift += 7 {
 21563  					if shift >= 64 {
 21564  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 21565  					}
 21566  					if iNdEx >= l {
 21567  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21568  					}
 21569  					b := dAtA[iNdEx]
 21570  					iNdEx++
 21571  					x.C |= int64(b&0x7F) << shift
 21572  					if b < 0x80 {
 21573  						break
 21574  					}
 21575  				}
 21576  			default:
 21577  				iNdEx = preIndex
 21578  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 21579  				if err != nil {
 21580  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 21581  				}
 21582  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 21583  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 21584  				}
 21585  				if (iNdEx + skippy) > l {
 21586  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21587  				}
 21588  				if !options.DiscardUnknown {
 21589  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 21590  				}
 21591  				iNdEx += skippy
 21592  			}
 21593  		}
 21594  
 21595  		if iNdEx > l {
 21596  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 21597  		}
 21598  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 21599  	}
 21600  	return &protoiface.Methods{
 21601  		NoUnkeyedLiterals: struct{}{},
 21602  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 21603  		Size:              size,
 21604  		Marshal:           marshal,
 21605  		Unmarshal:         unmarshal,
 21606  		Merge:             nil,
 21607  		CheckInitialized:  nil,
 21608  	}
 21609  }
 21610  
 21611  var _ protoreflect.List = (*_TestUpdatedTxRaw_3_list)(nil)
 21612  
 21613  type _TestUpdatedTxRaw_3_list struct {
 21614  	list *[][]byte
 21615  }
 21616  
 21617  func (x *_TestUpdatedTxRaw_3_list) Len() int {
 21618  	if x.list == nil {
 21619  		return 0
 21620  	}
 21621  	return len(*x.list)
 21622  }
 21623  
 21624  func (x *_TestUpdatedTxRaw_3_list) Get(i int) protoreflect.Value {
 21625  	return protoreflect.ValueOfBytes((*x.list)[i])
 21626  }
 21627  
 21628  func (x *_TestUpdatedTxRaw_3_list) Set(i int, value protoreflect.Value) {
 21629  	valueUnwrapped := value.Bytes()
 21630  	concreteValue := valueUnwrapped
 21631  	(*x.list)[i] = concreteValue
 21632  }
 21633  
 21634  func (x *_TestUpdatedTxRaw_3_list) Append(value protoreflect.Value) {
 21635  	valueUnwrapped := value.Bytes()
 21636  	concreteValue := valueUnwrapped
 21637  	*x.list = append(*x.list, concreteValue)
 21638  }
 21639  
 21640  func (x *_TestUpdatedTxRaw_3_list) AppendMutable() protoreflect.Value {
 21641  	panic(fmt.Errorf("AppendMutable can not be called on message TestUpdatedTxRaw at list field Signatures as it is not of Message kind"))
 21642  }
 21643  
 21644  func (x *_TestUpdatedTxRaw_3_list) Truncate(n int) {
 21645  	*x.list = (*x.list)[:n]
 21646  }
 21647  
 21648  func (x *_TestUpdatedTxRaw_3_list) NewElement() protoreflect.Value {
 21649  	var v []byte
 21650  	return protoreflect.ValueOfBytes(v)
 21651  }
 21652  
 21653  func (x *_TestUpdatedTxRaw_3_list) IsValid() bool {
 21654  	return x.list != nil
 21655  }
 21656  
 21657  var (
 21658  	md_TestUpdatedTxRaw                 protoreflect.MessageDescriptor
 21659  	fd_TestUpdatedTxRaw_body_bytes      protoreflect.FieldDescriptor
 21660  	fd_TestUpdatedTxRaw_auth_info_bytes protoreflect.FieldDescriptor
 21661  	fd_TestUpdatedTxRaw_signatures      protoreflect.FieldDescriptor
 21662  	fd_TestUpdatedTxRaw_new_field_5     protoreflect.FieldDescriptor
 21663  	fd_TestUpdatedTxRaw_new_field_1024  protoreflect.FieldDescriptor
 21664  )
 21665  
 21666  func init() {
 21667  	file_testpb_unknonwnproto_proto_init()
 21668  	md_TestUpdatedTxRaw = File_testpb_unknonwnproto_proto.Messages().ByName("TestUpdatedTxRaw")
 21669  	fd_TestUpdatedTxRaw_body_bytes = md_TestUpdatedTxRaw.Fields().ByName("body_bytes")
 21670  	fd_TestUpdatedTxRaw_auth_info_bytes = md_TestUpdatedTxRaw.Fields().ByName("auth_info_bytes")
 21671  	fd_TestUpdatedTxRaw_signatures = md_TestUpdatedTxRaw.Fields().ByName("signatures")
 21672  	fd_TestUpdatedTxRaw_new_field_5 = md_TestUpdatedTxRaw.Fields().ByName("new_field_5")
 21673  	fd_TestUpdatedTxRaw_new_field_1024 = md_TestUpdatedTxRaw.Fields().ByName("new_field_1024")
 21674  }
 21675  
 21676  var _ protoreflect.Message = (*fastReflection_TestUpdatedTxRaw)(nil)
 21677  
 21678  type fastReflection_TestUpdatedTxRaw TestUpdatedTxRaw
 21679  
 21680  func (x *TestUpdatedTxRaw) ProtoReflect() protoreflect.Message {
 21681  	return (*fastReflection_TestUpdatedTxRaw)(x)
 21682  }
 21683  
 21684  func (x *TestUpdatedTxRaw) slowProtoReflect() protoreflect.Message {
 21685  	mi := &file_testpb_unknonwnproto_proto_msgTypes[20]
 21686  	if protoimpl.UnsafeEnabled && x != nil {
 21687  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 21688  		if ms.LoadMessageInfo() == nil {
 21689  			ms.StoreMessageInfo(mi)
 21690  		}
 21691  		return ms
 21692  	}
 21693  	return mi.MessageOf(x)
 21694  }
 21695  
 21696  var _fastReflection_TestUpdatedTxRaw_messageType fastReflection_TestUpdatedTxRaw_messageType
 21697  var _ protoreflect.MessageType = fastReflection_TestUpdatedTxRaw_messageType{}
 21698  
 21699  type fastReflection_TestUpdatedTxRaw_messageType struct{}
 21700  
 21701  func (x fastReflection_TestUpdatedTxRaw_messageType) Zero() protoreflect.Message {
 21702  	return (*fastReflection_TestUpdatedTxRaw)(nil)
 21703  }
 21704  func (x fastReflection_TestUpdatedTxRaw_messageType) New() protoreflect.Message {
 21705  	return new(fastReflection_TestUpdatedTxRaw)
 21706  }
 21707  func (x fastReflection_TestUpdatedTxRaw_messageType) Descriptor() protoreflect.MessageDescriptor {
 21708  	return md_TestUpdatedTxRaw
 21709  }
 21710  
 21711  // Descriptor returns message descriptor, which contains only the protobuf
 21712  // type information for the message.
 21713  func (x *fastReflection_TestUpdatedTxRaw) Descriptor() protoreflect.MessageDescriptor {
 21714  	return md_TestUpdatedTxRaw
 21715  }
 21716  
 21717  // Type returns the message type, which encapsulates both Go and protobuf
 21718  // type information. If the Go type information is not needed,
 21719  // it is recommended that the message descriptor be used instead.
 21720  func (x *fastReflection_TestUpdatedTxRaw) Type() protoreflect.MessageType {
 21721  	return _fastReflection_TestUpdatedTxRaw_messageType
 21722  }
 21723  
 21724  // New returns a newly allocated and mutable empty message.
 21725  func (x *fastReflection_TestUpdatedTxRaw) New() protoreflect.Message {
 21726  	return new(fastReflection_TestUpdatedTxRaw)
 21727  }
 21728  
 21729  // Interface unwraps the message reflection interface and
 21730  // returns the underlying ProtoMessage interface.
 21731  func (x *fastReflection_TestUpdatedTxRaw) Interface() protoreflect.ProtoMessage {
 21732  	return (*TestUpdatedTxRaw)(x)
 21733  }
 21734  
 21735  // Range iterates over every populated field in an undefined order,
 21736  // calling f for each field descriptor and value encountered.
 21737  // Range returns immediately if f returns false.
 21738  // While iterating, mutating operations may only be performed
 21739  // on the current field descriptor.
 21740  func (x *fastReflection_TestUpdatedTxRaw) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 21741  	if len(x.BodyBytes) != 0 {
 21742  		value := protoreflect.ValueOfBytes(x.BodyBytes)
 21743  		if !f(fd_TestUpdatedTxRaw_body_bytes, value) {
 21744  			return
 21745  		}
 21746  	}
 21747  	if len(x.AuthInfoBytes) != 0 {
 21748  		value := protoreflect.ValueOfBytes(x.AuthInfoBytes)
 21749  		if !f(fd_TestUpdatedTxRaw_auth_info_bytes, value) {
 21750  			return
 21751  		}
 21752  	}
 21753  	if len(x.Signatures) != 0 {
 21754  		value := protoreflect.ValueOfList(&_TestUpdatedTxRaw_3_list{list: &x.Signatures})
 21755  		if !f(fd_TestUpdatedTxRaw_signatures, value) {
 21756  			return
 21757  		}
 21758  	}
 21759  	if len(x.NewField_5) != 0 {
 21760  		value := protoreflect.ValueOfBytes(x.NewField_5)
 21761  		if !f(fd_TestUpdatedTxRaw_new_field_5, value) {
 21762  			return
 21763  		}
 21764  	}
 21765  	if len(x.NewField_1024) != 0 {
 21766  		value := protoreflect.ValueOfBytes(x.NewField_1024)
 21767  		if !f(fd_TestUpdatedTxRaw_new_field_1024, value) {
 21768  			return
 21769  		}
 21770  	}
 21771  }
 21772  
 21773  // Has reports whether a field is populated.
 21774  //
 21775  // Some fields have the property of nullability where it is possible to
 21776  // distinguish between the default value of a field and whether the field
 21777  // was explicitly populated with the default value. Singular message fields,
 21778  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 21779  // fields are populated only if explicitly set.
 21780  //
 21781  // In other cases (aside from the nullable cases above),
 21782  // a proto3 scalar field is populated if it contains a non-zero value, and
 21783  // a repeated field is populated if it is non-empty.
 21784  func (x *fastReflection_TestUpdatedTxRaw) Has(fd protoreflect.FieldDescriptor) bool {
 21785  	switch fd.FullName() {
 21786  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21787  		return len(x.BodyBytes) != 0
 21788  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21789  		return len(x.AuthInfoBytes) != 0
 21790  	case "testpb.TestUpdatedTxRaw.signatures":
 21791  		return len(x.Signatures) != 0
 21792  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21793  		return len(x.NewField_5) != 0
 21794  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21795  		return len(x.NewField_1024) != 0
 21796  	default:
 21797  		if fd.IsExtension() {
 21798  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21799  		}
 21800  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", fd.FullName()))
 21801  	}
 21802  }
 21803  
 21804  // Clear clears the field such that a subsequent Has call reports false.
 21805  //
 21806  // Clearing an extension field clears both the extension type and value
 21807  // associated with the given field number.
 21808  //
 21809  // Clear is a mutating operation and unsafe for concurrent use.
 21810  func (x *fastReflection_TestUpdatedTxRaw) Clear(fd protoreflect.FieldDescriptor) {
 21811  	switch fd.FullName() {
 21812  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21813  		x.BodyBytes = nil
 21814  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21815  		x.AuthInfoBytes = nil
 21816  	case "testpb.TestUpdatedTxRaw.signatures":
 21817  		x.Signatures = nil
 21818  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21819  		x.NewField_5 = nil
 21820  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21821  		x.NewField_1024 = nil
 21822  	default:
 21823  		if fd.IsExtension() {
 21824  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21825  		}
 21826  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", fd.FullName()))
 21827  	}
 21828  }
 21829  
 21830  // Get retrieves the value for a field.
 21831  //
 21832  // For unpopulated scalars, it returns the default value, where
 21833  // the default value of a bytes scalar is guaranteed to be a copy.
 21834  // For unpopulated composite types, it returns an empty, read-only view
 21835  // of the value; to obtain a mutable reference, use Mutable.
 21836  func (x *fastReflection_TestUpdatedTxRaw) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 21837  	switch descriptor.FullName() {
 21838  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21839  		value := x.BodyBytes
 21840  		return protoreflect.ValueOfBytes(value)
 21841  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21842  		value := x.AuthInfoBytes
 21843  		return protoreflect.ValueOfBytes(value)
 21844  	case "testpb.TestUpdatedTxRaw.signatures":
 21845  		if len(x.Signatures) == 0 {
 21846  			return protoreflect.ValueOfList(&_TestUpdatedTxRaw_3_list{})
 21847  		}
 21848  		listValue := &_TestUpdatedTxRaw_3_list{list: &x.Signatures}
 21849  		return protoreflect.ValueOfList(listValue)
 21850  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21851  		value := x.NewField_5
 21852  		return protoreflect.ValueOfBytes(value)
 21853  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21854  		value := x.NewField_1024
 21855  		return protoreflect.ValueOfBytes(value)
 21856  	default:
 21857  		if descriptor.IsExtension() {
 21858  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21859  		}
 21860  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", descriptor.FullName()))
 21861  	}
 21862  }
 21863  
 21864  // Set stores the value for a field.
 21865  //
 21866  // For a field belonging to a oneof, it implicitly clears any other field
 21867  // that may be currently set within the same oneof.
 21868  // For extension fields, it implicitly stores the provided ExtensionType.
 21869  // When setting a composite type, it is unspecified whether the stored value
 21870  // aliases the source's memory in any way. If the composite value is an
 21871  // empty, read-only value, then it panics.
 21872  //
 21873  // Set is a mutating operation and unsafe for concurrent use.
 21874  func (x *fastReflection_TestUpdatedTxRaw) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 21875  	switch fd.FullName() {
 21876  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21877  		x.BodyBytes = value.Bytes()
 21878  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21879  		x.AuthInfoBytes = value.Bytes()
 21880  	case "testpb.TestUpdatedTxRaw.signatures":
 21881  		lv := value.List()
 21882  		clv := lv.(*_TestUpdatedTxRaw_3_list)
 21883  		x.Signatures = *clv.list
 21884  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21885  		x.NewField_5 = value.Bytes()
 21886  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21887  		x.NewField_1024 = value.Bytes()
 21888  	default:
 21889  		if fd.IsExtension() {
 21890  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21891  		}
 21892  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", fd.FullName()))
 21893  	}
 21894  }
 21895  
 21896  // Mutable returns a mutable reference to a composite type.
 21897  //
 21898  // If the field is unpopulated, it may allocate a composite value.
 21899  // For a field belonging to a oneof, it implicitly clears any other field
 21900  // that may be currently set within the same oneof.
 21901  // For extension fields, it implicitly stores the provided ExtensionType
 21902  // if not already stored.
 21903  // It panics if the field does not contain a composite type.
 21904  //
 21905  // Mutable is a mutating operation and unsafe for concurrent use.
 21906  func (x *fastReflection_TestUpdatedTxRaw) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 21907  	switch fd.FullName() {
 21908  	case "testpb.TestUpdatedTxRaw.signatures":
 21909  		if x.Signatures == nil {
 21910  			x.Signatures = [][]byte{}
 21911  		}
 21912  		value := &_TestUpdatedTxRaw_3_list{list: &x.Signatures}
 21913  		return protoreflect.ValueOfList(value)
 21914  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21915  		panic(fmt.Errorf("field body_bytes of message testpb.TestUpdatedTxRaw is not mutable"))
 21916  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21917  		panic(fmt.Errorf("field auth_info_bytes of message testpb.TestUpdatedTxRaw is not mutable"))
 21918  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21919  		panic(fmt.Errorf("field new_field_5 of message testpb.TestUpdatedTxRaw is not mutable"))
 21920  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21921  		panic(fmt.Errorf("field new_field_1024 of message testpb.TestUpdatedTxRaw is not mutable"))
 21922  	default:
 21923  		if fd.IsExtension() {
 21924  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21925  		}
 21926  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", fd.FullName()))
 21927  	}
 21928  }
 21929  
 21930  // NewField returns a new value that is assignable to the field
 21931  // for the given descriptor. For scalars, this returns the default value.
 21932  // For lists, maps, and messages, this returns a new, empty, mutable value.
 21933  func (x *fastReflection_TestUpdatedTxRaw) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 21934  	switch fd.FullName() {
 21935  	case "testpb.TestUpdatedTxRaw.body_bytes":
 21936  		return protoreflect.ValueOfBytes(nil)
 21937  	case "testpb.TestUpdatedTxRaw.auth_info_bytes":
 21938  		return protoreflect.ValueOfBytes(nil)
 21939  	case "testpb.TestUpdatedTxRaw.signatures":
 21940  		list := [][]byte{}
 21941  		return protoreflect.ValueOfList(&_TestUpdatedTxRaw_3_list{list: &list})
 21942  	case "testpb.TestUpdatedTxRaw.new_field_5":
 21943  		return protoreflect.ValueOfBytes(nil)
 21944  	case "testpb.TestUpdatedTxRaw.new_field_1024":
 21945  		return protoreflect.ValueOfBytes(nil)
 21946  	default:
 21947  		if fd.IsExtension() {
 21948  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxRaw"))
 21949  		}
 21950  		panic(fmt.Errorf("message testpb.TestUpdatedTxRaw does not contain field %s", fd.FullName()))
 21951  	}
 21952  }
 21953  
 21954  // WhichOneof reports which field within the oneof is populated,
 21955  // returning nil if none are populated.
 21956  // It panics if the oneof descriptor does not belong to this message.
 21957  func (x *fastReflection_TestUpdatedTxRaw) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 21958  	switch d.FullName() {
 21959  	default:
 21960  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestUpdatedTxRaw", d.FullName()))
 21961  	}
 21962  	panic("unreachable")
 21963  }
 21964  
 21965  // GetUnknown retrieves the entire list of unknown fields.
 21966  // The caller may only mutate the contents of the RawFields
 21967  // if the mutated bytes are stored back into the message with SetUnknown.
 21968  func (x *fastReflection_TestUpdatedTxRaw) GetUnknown() protoreflect.RawFields {
 21969  	return x.unknownFields
 21970  }
 21971  
 21972  // SetUnknown stores an entire list of unknown fields.
 21973  // The raw fields must be syntactically valid according to the wire format.
 21974  // An implementation may panic if this is not the case.
 21975  // Once stored, the caller must not mutate the content of the RawFields.
 21976  // An empty RawFields may be passed to clear the fields.
 21977  //
 21978  // SetUnknown is a mutating operation and unsafe for concurrent use.
 21979  func (x *fastReflection_TestUpdatedTxRaw) SetUnknown(fields protoreflect.RawFields) {
 21980  	x.unknownFields = fields
 21981  }
 21982  
 21983  // IsValid reports whether the message is valid.
 21984  //
 21985  // An invalid message is an empty, read-only value.
 21986  //
 21987  // An invalid message often corresponds to a nil pointer of the concrete
 21988  // message type, but the details are implementation dependent.
 21989  // Validity is not part of the protobuf data model, and may not
 21990  // be preserved in marshaling or other operations.
 21991  func (x *fastReflection_TestUpdatedTxRaw) IsValid() bool {
 21992  	return x != nil
 21993  }
 21994  
 21995  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 21996  // This method may return nil.
 21997  //
 21998  // The returned methods type is identical to
 21999  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 22000  // Consult the protoiface package documentation for details.
 22001  func (x *fastReflection_TestUpdatedTxRaw) ProtoMethods() *protoiface.Methods {
 22002  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 22003  		x := input.Message.Interface().(*TestUpdatedTxRaw)
 22004  		if x == nil {
 22005  			return protoiface.SizeOutput{
 22006  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22007  				Size:              0,
 22008  			}
 22009  		}
 22010  		options := runtime.SizeInputToOptions(input)
 22011  		_ = options
 22012  		var n int
 22013  		var l int
 22014  		_ = l
 22015  		l = len(x.BodyBytes)
 22016  		if l > 0 {
 22017  			n += 1 + l + runtime.Sov(uint64(l))
 22018  		}
 22019  		l = len(x.AuthInfoBytes)
 22020  		if l > 0 {
 22021  			n += 1 + l + runtime.Sov(uint64(l))
 22022  		}
 22023  		if len(x.Signatures) > 0 {
 22024  			for _, b := range x.Signatures {
 22025  				l = len(b)
 22026  				n += 1 + l + runtime.Sov(uint64(l))
 22027  			}
 22028  		}
 22029  		l = len(x.NewField_5)
 22030  		if l > 0 {
 22031  			n += 1 + l + runtime.Sov(uint64(l))
 22032  		}
 22033  		l = len(x.NewField_1024)
 22034  		if l > 0 {
 22035  			n += 2 + l + runtime.Sov(uint64(l))
 22036  		}
 22037  		if x.unknownFields != nil {
 22038  			n += len(x.unknownFields)
 22039  		}
 22040  		return protoiface.SizeOutput{
 22041  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22042  			Size:              n,
 22043  		}
 22044  	}
 22045  
 22046  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 22047  		x := input.Message.Interface().(*TestUpdatedTxRaw)
 22048  		if x == nil {
 22049  			return protoiface.MarshalOutput{
 22050  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22051  				Buf:               input.Buf,
 22052  			}, nil
 22053  		}
 22054  		options := runtime.MarshalInputToOptions(input)
 22055  		_ = options
 22056  		size := options.Size(x)
 22057  		dAtA := make([]byte, size)
 22058  		i := len(dAtA)
 22059  		_ = i
 22060  		var l int
 22061  		_ = l
 22062  		if x.unknownFields != nil {
 22063  			i -= len(x.unknownFields)
 22064  			copy(dAtA[i:], x.unknownFields)
 22065  		}
 22066  		if len(x.NewField_1024) > 0 {
 22067  			i -= len(x.NewField_1024)
 22068  			copy(dAtA[i:], x.NewField_1024)
 22069  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewField_1024)))
 22070  			i--
 22071  			dAtA[i] = 0x40
 22072  			i--
 22073  			dAtA[i] = 0x82
 22074  		}
 22075  		if len(x.NewField_5) > 0 {
 22076  			i -= len(x.NewField_5)
 22077  			copy(dAtA[i:], x.NewField_5)
 22078  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewField_5)))
 22079  			i--
 22080  			dAtA[i] = 0x2a
 22081  		}
 22082  		if len(x.Signatures) > 0 {
 22083  			for iNdEx := len(x.Signatures) - 1; iNdEx >= 0; iNdEx-- {
 22084  				i -= len(x.Signatures[iNdEx])
 22085  				copy(dAtA[i:], x.Signatures[iNdEx])
 22086  				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Signatures[iNdEx])))
 22087  				i--
 22088  				dAtA[i] = 0x1a
 22089  			}
 22090  		}
 22091  		if len(x.AuthInfoBytes) > 0 {
 22092  			i -= len(x.AuthInfoBytes)
 22093  			copy(dAtA[i:], x.AuthInfoBytes)
 22094  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AuthInfoBytes)))
 22095  			i--
 22096  			dAtA[i] = 0x12
 22097  		}
 22098  		if len(x.BodyBytes) > 0 {
 22099  			i -= len(x.BodyBytes)
 22100  			copy(dAtA[i:], x.BodyBytes)
 22101  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BodyBytes)))
 22102  			i--
 22103  			dAtA[i] = 0xa
 22104  		}
 22105  		if input.Buf != nil {
 22106  			input.Buf = append(input.Buf, dAtA...)
 22107  		} else {
 22108  			input.Buf = dAtA
 22109  		}
 22110  		return protoiface.MarshalOutput{
 22111  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22112  			Buf:               input.Buf,
 22113  		}, nil
 22114  	}
 22115  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 22116  		x := input.Message.Interface().(*TestUpdatedTxRaw)
 22117  		if x == nil {
 22118  			return protoiface.UnmarshalOutput{
 22119  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22120  				Flags:             input.Flags,
 22121  			}, nil
 22122  		}
 22123  		options := runtime.UnmarshalInputToOptions(input)
 22124  		_ = options
 22125  		dAtA := input.Buf
 22126  		l := len(dAtA)
 22127  		iNdEx := 0
 22128  		for iNdEx < l {
 22129  			preIndex := iNdEx
 22130  			var wire uint64
 22131  			for shift := uint(0); ; shift += 7 {
 22132  				if shift >= 64 {
 22133  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22134  				}
 22135  				if iNdEx >= l {
 22136  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22137  				}
 22138  				b := dAtA[iNdEx]
 22139  				iNdEx++
 22140  				wire |= uint64(b&0x7F) << shift
 22141  				if b < 0x80 {
 22142  					break
 22143  				}
 22144  			}
 22145  			fieldNum := int32(wire >> 3)
 22146  			wireType := int(wire & 0x7)
 22147  			if wireType == 4 {
 22148  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedTxRaw: wiretype end group for non-group")
 22149  			}
 22150  			if fieldNum <= 0 {
 22151  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedTxRaw: illegal tag %d (wire type %d)", fieldNum, wire)
 22152  			}
 22153  			switch fieldNum {
 22154  			case 1:
 22155  				if wireType != 2 {
 22156  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BodyBytes", wireType)
 22157  				}
 22158  				var byteLen int
 22159  				for shift := uint(0); ; shift += 7 {
 22160  					if shift >= 64 {
 22161  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22162  					}
 22163  					if iNdEx >= l {
 22164  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22165  					}
 22166  					b := dAtA[iNdEx]
 22167  					iNdEx++
 22168  					byteLen |= int(b&0x7F) << shift
 22169  					if b < 0x80 {
 22170  						break
 22171  					}
 22172  				}
 22173  				if byteLen < 0 {
 22174  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22175  				}
 22176  				postIndex := iNdEx + byteLen
 22177  				if postIndex < 0 {
 22178  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22179  				}
 22180  				if postIndex > l {
 22181  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22182  				}
 22183  				x.BodyBytes = append(x.BodyBytes[:0], dAtA[iNdEx:postIndex]...)
 22184  				if x.BodyBytes == nil {
 22185  					x.BodyBytes = []byte{}
 22186  				}
 22187  				iNdEx = postIndex
 22188  			case 2:
 22189  				if wireType != 2 {
 22190  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AuthInfoBytes", wireType)
 22191  				}
 22192  				var byteLen int
 22193  				for shift := uint(0); ; shift += 7 {
 22194  					if shift >= 64 {
 22195  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22196  					}
 22197  					if iNdEx >= l {
 22198  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22199  					}
 22200  					b := dAtA[iNdEx]
 22201  					iNdEx++
 22202  					byteLen |= int(b&0x7F) << shift
 22203  					if b < 0x80 {
 22204  						break
 22205  					}
 22206  				}
 22207  				if byteLen < 0 {
 22208  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22209  				}
 22210  				postIndex := iNdEx + byteLen
 22211  				if postIndex < 0 {
 22212  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22213  				}
 22214  				if postIndex > l {
 22215  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22216  				}
 22217  				x.AuthInfoBytes = append(x.AuthInfoBytes[:0], dAtA[iNdEx:postIndex]...)
 22218  				if x.AuthInfoBytes == nil {
 22219  					x.AuthInfoBytes = []byte{}
 22220  				}
 22221  				iNdEx = postIndex
 22222  			case 3:
 22223  				if wireType != 2 {
 22224  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Signatures", wireType)
 22225  				}
 22226  				var byteLen int
 22227  				for shift := uint(0); ; shift += 7 {
 22228  					if shift >= 64 {
 22229  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22230  					}
 22231  					if iNdEx >= l {
 22232  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22233  					}
 22234  					b := dAtA[iNdEx]
 22235  					iNdEx++
 22236  					byteLen |= int(b&0x7F) << shift
 22237  					if b < 0x80 {
 22238  						break
 22239  					}
 22240  				}
 22241  				if byteLen < 0 {
 22242  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22243  				}
 22244  				postIndex := iNdEx + byteLen
 22245  				if postIndex < 0 {
 22246  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22247  				}
 22248  				if postIndex > l {
 22249  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22250  				}
 22251  				x.Signatures = append(x.Signatures, make([]byte, postIndex-iNdEx))
 22252  				copy(x.Signatures[len(x.Signatures)-1], dAtA[iNdEx:postIndex])
 22253  				iNdEx = postIndex
 22254  			case 5:
 22255  				if wireType != 2 {
 22256  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewField_5", wireType)
 22257  				}
 22258  				var byteLen int
 22259  				for shift := uint(0); ; shift += 7 {
 22260  					if shift >= 64 {
 22261  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22262  					}
 22263  					if iNdEx >= l {
 22264  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22265  					}
 22266  					b := dAtA[iNdEx]
 22267  					iNdEx++
 22268  					byteLen |= int(b&0x7F) << shift
 22269  					if b < 0x80 {
 22270  						break
 22271  					}
 22272  				}
 22273  				if byteLen < 0 {
 22274  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22275  				}
 22276  				postIndex := iNdEx + byteLen
 22277  				if postIndex < 0 {
 22278  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22279  				}
 22280  				if postIndex > l {
 22281  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22282  				}
 22283  				x.NewField_5 = append(x.NewField_5[:0], dAtA[iNdEx:postIndex]...)
 22284  				if x.NewField_5 == nil {
 22285  					x.NewField_5 = []byte{}
 22286  				}
 22287  				iNdEx = postIndex
 22288  			case 1024:
 22289  				if wireType != 2 {
 22290  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewField_1024", wireType)
 22291  				}
 22292  				var byteLen int
 22293  				for shift := uint(0); ; shift += 7 {
 22294  					if shift >= 64 {
 22295  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 22296  					}
 22297  					if iNdEx >= l {
 22298  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22299  					}
 22300  					b := dAtA[iNdEx]
 22301  					iNdEx++
 22302  					byteLen |= int(b&0x7F) << shift
 22303  					if b < 0x80 {
 22304  						break
 22305  					}
 22306  				}
 22307  				if byteLen < 0 {
 22308  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22309  				}
 22310  				postIndex := iNdEx + byteLen
 22311  				if postIndex < 0 {
 22312  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22313  				}
 22314  				if postIndex > l {
 22315  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22316  				}
 22317  				x.NewField_1024 = append(x.NewField_1024[:0], dAtA[iNdEx:postIndex]...)
 22318  				if x.NewField_1024 == nil {
 22319  					x.NewField_1024 = []byte{}
 22320  				}
 22321  				iNdEx = postIndex
 22322  			default:
 22323  				iNdEx = preIndex
 22324  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 22325  				if err != nil {
 22326  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 22327  				}
 22328  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 22329  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 22330  				}
 22331  				if (iNdEx + skippy) > l {
 22332  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22333  				}
 22334  				if !options.DiscardUnknown {
 22335  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 22336  				}
 22337  				iNdEx += skippy
 22338  			}
 22339  		}
 22340  
 22341  		if iNdEx > l {
 22342  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 22343  		}
 22344  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 22345  	}
 22346  	return &protoiface.Methods{
 22347  		NoUnkeyedLiterals: struct{}{},
 22348  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 22349  		Size:              size,
 22350  		Marshal:           marshal,
 22351  		Unmarshal:         unmarshal,
 22352  		Merge:             nil,
 22353  		CheckInitialized:  nil,
 22354  	}
 22355  }
 22356  
 22357  var _ protoreflect.List = (*_TestUpdatedTxBody_1_list)(nil)
 22358  
 22359  type _TestUpdatedTxBody_1_list struct {
 22360  	list *[]*anypb.Any
 22361  }
 22362  
 22363  func (x *_TestUpdatedTxBody_1_list) Len() int {
 22364  	if x.list == nil {
 22365  		return 0
 22366  	}
 22367  	return len(*x.list)
 22368  }
 22369  
 22370  func (x *_TestUpdatedTxBody_1_list) Get(i int) protoreflect.Value {
 22371  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 22372  }
 22373  
 22374  func (x *_TestUpdatedTxBody_1_list) Set(i int, value protoreflect.Value) {
 22375  	valueUnwrapped := value.Message()
 22376  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22377  	(*x.list)[i] = concreteValue
 22378  }
 22379  
 22380  func (x *_TestUpdatedTxBody_1_list) Append(value protoreflect.Value) {
 22381  	valueUnwrapped := value.Message()
 22382  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22383  	*x.list = append(*x.list, concreteValue)
 22384  }
 22385  
 22386  func (x *_TestUpdatedTxBody_1_list) AppendMutable() protoreflect.Value {
 22387  	v := new(anypb.Any)
 22388  	*x.list = append(*x.list, v)
 22389  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22390  }
 22391  
 22392  func (x *_TestUpdatedTxBody_1_list) Truncate(n int) {
 22393  	for i := n; i < len(*x.list); i++ {
 22394  		(*x.list)[i] = nil
 22395  	}
 22396  	*x.list = (*x.list)[:n]
 22397  }
 22398  
 22399  func (x *_TestUpdatedTxBody_1_list) NewElement() protoreflect.Value {
 22400  	v := new(anypb.Any)
 22401  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22402  }
 22403  
 22404  func (x *_TestUpdatedTxBody_1_list) IsValid() bool {
 22405  	return x.list != nil
 22406  }
 22407  
 22408  var _ protoreflect.List = (*_TestUpdatedTxBody_1023_list)(nil)
 22409  
 22410  type _TestUpdatedTxBody_1023_list struct {
 22411  	list *[]*anypb.Any
 22412  }
 22413  
 22414  func (x *_TestUpdatedTxBody_1023_list) Len() int {
 22415  	if x.list == nil {
 22416  		return 0
 22417  	}
 22418  	return len(*x.list)
 22419  }
 22420  
 22421  func (x *_TestUpdatedTxBody_1023_list) Get(i int) protoreflect.Value {
 22422  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 22423  }
 22424  
 22425  func (x *_TestUpdatedTxBody_1023_list) Set(i int, value protoreflect.Value) {
 22426  	valueUnwrapped := value.Message()
 22427  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22428  	(*x.list)[i] = concreteValue
 22429  }
 22430  
 22431  func (x *_TestUpdatedTxBody_1023_list) Append(value protoreflect.Value) {
 22432  	valueUnwrapped := value.Message()
 22433  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22434  	*x.list = append(*x.list, concreteValue)
 22435  }
 22436  
 22437  func (x *_TestUpdatedTxBody_1023_list) AppendMutable() protoreflect.Value {
 22438  	v := new(anypb.Any)
 22439  	*x.list = append(*x.list, v)
 22440  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22441  }
 22442  
 22443  func (x *_TestUpdatedTxBody_1023_list) Truncate(n int) {
 22444  	for i := n; i < len(*x.list); i++ {
 22445  		(*x.list)[i] = nil
 22446  	}
 22447  	*x.list = (*x.list)[:n]
 22448  }
 22449  
 22450  func (x *_TestUpdatedTxBody_1023_list) NewElement() protoreflect.Value {
 22451  	v := new(anypb.Any)
 22452  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22453  }
 22454  
 22455  func (x *_TestUpdatedTxBody_1023_list) IsValid() bool {
 22456  	return x.list != nil
 22457  }
 22458  
 22459  var _ protoreflect.List = (*_TestUpdatedTxBody_2047_list)(nil)
 22460  
 22461  type _TestUpdatedTxBody_2047_list struct {
 22462  	list *[]*anypb.Any
 22463  }
 22464  
 22465  func (x *_TestUpdatedTxBody_2047_list) Len() int {
 22466  	if x.list == nil {
 22467  		return 0
 22468  	}
 22469  	return len(*x.list)
 22470  }
 22471  
 22472  func (x *_TestUpdatedTxBody_2047_list) Get(i int) protoreflect.Value {
 22473  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 22474  }
 22475  
 22476  func (x *_TestUpdatedTxBody_2047_list) Set(i int, value protoreflect.Value) {
 22477  	valueUnwrapped := value.Message()
 22478  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22479  	(*x.list)[i] = concreteValue
 22480  }
 22481  
 22482  func (x *_TestUpdatedTxBody_2047_list) Append(value protoreflect.Value) {
 22483  	valueUnwrapped := value.Message()
 22484  	concreteValue := valueUnwrapped.Interface().(*anypb.Any)
 22485  	*x.list = append(*x.list, concreteValue)
 22486  }
 22487  
 22488  func (x *_TestUpdatedTxBody_2047_list) AppendMutable() protoreflect.Value {
 22489  	v := new(anypb.Any)
 22490  	*x.list = append(*x.list, v)
 22491  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22492  }
 22493  
 22494  func (x *_TestUpdatedTxBody_2047_list) Truncate(n int) {
 22495  	for i := n; i < len(*x.list); i++ {
 22496  		(*x.list)[i] = nil
 22497  	}
 22498  	*x.list = (*x.list)[:n]
 22499  }
 22500  
 22501  func (x *_TestUpdatedTxBody_2047_list) NewElement() protoreflect.Value {
 22502  	v := new(anypb.Any)
 22503  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 22504  }
 22505  
 22506  func (x *_TestUpdatedTxBody_2047_list) IsValid() bool {
 22507  	return x.list != nil
 22508  }
 22509  
 22510  var (
 22511  	md_TestUpdatedTxBody                                   protoreflect.MessageDescriptor
 22512  	fd_TestUpdatedTxBody_messages                          protoreflect.FieldDescriptor
 22513  	fd_TestUpdatedTxBody_memo                              protoreflect.FieldDescriptor
 22514  	fd_TestUpdatedTxBody_timeout_height                    protoreflect.FieldDescriptor
 22515  	fd_TestUpdatedTxBody_some_new_field                    protoreflect.FieldDescriptor
 22516  	fd_TestUpdatedTxBody_some_new_field_non_critical_field protoreflect.FieldDescriptor
 22517  	fd_TestUpdatedTxBody_extension_options                 protoreflect.FieldDescriptor
 22518  	fd_TestUpdatedTxBody_non_critical_extension_options    protoreflect.FieldDescriptor
 22519  )
 22520  
 22521  func init() {
 22522  	file_testpb_unknonwnproto_proto_init()
 22523  	md_TestUpdatedTxBody = File_testpb_unknonwnproto_proto.Messages().ByName("TestUpdatedTxBody")
 22524  	fd_TestUpdatedTxBody_messages = md_TestUpdatedTxBody.Fields().ByName("messages")
 22525  	fd_TestUpdatedTxBody_memo = md_TestUpdatedTxBody.Fields().ByName("memo")
 22526  	fd_TestUpdatedTxBody_timeout_height = md_TestUpdatedTxBody.Fields().ByName("timeout_height")
 22527  	fd_TestUpdatedTxBody_some_new_field = md_TestUpdatedTxBody.Fields().ByName("some_new_field")
 22528  	fd_TestUpdatedTxBody_some_new_field_non_critical_field = md_TestUpdatedTxBody.Fields().ByName("some_new_field_non_critical_field")
 22529  	fd_TestUpdatedTxBody_extension_options = md_TestUpdatedTxBody.Fields().ByName("extension_options")
 22530  	fd_TestUpdatedTxBody_non_critical_extension_options = md_TestUpdatedTxBody.Fields().ByName("non_critical_extension_options")
 22531  }
 22532  
 22533  var _ protoreflect.Message = (*fastReflection_TestUpdatedTxBody)(nil)
 22534  
 22535  type fastReflection_TestUpdatedTxBody TestUpdatedTxBody
 22536  
 22537  func (x *TestUpdatedTxBody) ProtoReflect() protoreflect.Message {
 22538  	return (*fastReflection_TestUpdatedTxBody)(x)
 22539  }
 22540  
 22541  func (x *TestUpdatedTxBody) slowProtoReflect() protoreflect.Message {
 22542  	mi := &file_testpb_unknonwnproto_proto_msgTypes[21]
 22543  	if protoimpl.UnsafeEnabled && x != nil {
 22544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 22545  		if ms.LoadMessageInfo() == nil {
 22546  			ms.StoreMessageInfo(mi)
 22547  		}
 22548  		return ms
 22549  	}
 22550  	return mi.MessageOf(x)
 22551  }
 22552  
 22553  var _fastReflection_TestUpdatedTxBody_messageType fastReflection_TestUpdatedTxBody_messageType
 22554  var _ protoreflect.MessageType = fastReflection_TestUpdatedTxBody_messageType{}
 22555  
 22556  type fastReflection_TestUpdatedTxBody_messageType struct{}
 22557  
 22558  func (x fastReflection_TestUpdatedTxBody_messageType) Zero() protoreflect.Message {
 22559  	return (*fastReflection_TestUpdatedTxBody)(nil)
 22560  }
 22561  func (x fastReflection_TestUpdatedTxBody_messageType) New() protoreflect.Message {
 22562  	return new(fastReflection_TestUpdatedTxBody)
 22563  }
 22564  func (x fastReflection_TestUpdatedTxBody_messageType) Descriptor() protoreflect.MessageDescriptor {
 22565  	return md_TestUpdatedTxBody
 22566  }
 22567  
 22568  // Descriptor returns message descriptor, which contains only the protobuf
 22569  // type information for the message.
 22570  func (x *fastReflection_TestUpdatedTxBody) Descriptor() protoreflect.MessageDescriptor {
 22571  	return md_TestUpdatedTxBody
 22572  }
 22573  
 22574  // Type returns the message type, which encapsulates both Go and protobuf
 22575  // type information. If the Go type information is not needed,
 22576  // it is recommended that the message descriptor be used instead.
 22577  func (x *fastReflection_TestUpdatedTxBody) Type() protoreflect.MessageType {
 22578  	return _fastReflection_TestUpdatedTxBody_messageType
 22579  }
 22580  
 22581  // New returns a newly allocated and mutable empty message.
 22582  func (x *fastReflection_TestUpdatedTxBody) New() protoreflect.Message {
 22583  	return new(fastReflection_TestUpdatedTxBody)
 22584  }
 22585  
 22586  // Interface unwraps the message reflection interface and
 22587  // returns the underlying ProtoMessage interface.
 22588  func (x *fastReflection_TestUpdatedTxBody) Interface() protoreflect.ProtoMessage {
 22589  	return (*TestUpdatedTxBody)(x)
 22590  }
 22591  
 22592  // Range iterates over every populated field in an undefined order,
 22593  // calling f for each field descriptor and value encountered.
 22594  // Range returns immediately if f returns false.
 22595  // While iterating, mutating operations may only be performed
 22596  // on the current field descriptor.
 22597  func (x *fastReflection_TestUpdatedTxBody) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 22598  	if len(x.Messages) != 0 {
 22599  		value := protoreflect.ValueOfList(&_TestUpdatedTxBody_1_list{list: &x.Messages})
 22600  		if !f(fd_TestUpdatedTxBody_messages, value) {
 22601  			return
 22602  		}
 22603  	}
 22604  	if x.Memo != "" {
 22605  		value := protoreflect.ValueOfString(x.Memo)
 22606  		if !f(fd_TestUpdatedTxBody_memo, value) {
 22607  			return
 22608  		}
 22609  	}
 22610  	if x.TimeoutHeight != int64(0) {
 22611  		value := protoreflect.ValueOfInt64(x.TimeoutHeight)
 22612  		if !f(fd_TestUpdatedTxBody_timeout_height, value) {
 22613  			return
 22614  		}
 22615  	}
 22616  	if x.SomeNewField != uint64(0) {
 22617  		value := protoreflect.ValueOfUint64(x.SomeNewField)
 22618  		if !f(fd_TestUpdatedTxBody_some_new_field, value) {
 22619  			return
 22620  		}
 22621  	}
 22622  	if x.SomeNewFieldNonCriticalField != "" {
 22623  		value := protoreflect.ValueOfString(x.SomeNewFieldNonCriticalField)
 22624  		if !f(fd_TestUpdatedTxBody_some_new_field_non_critical_field, value) {
 22625  			return
 22626  		}
 22627  	}
 22628  	if len(x.ExtensionOptions) != 0 {
 22629  		value := protoreflect.ValueOfList(&_TestUpdatedTxBody_1023_list{list: &x.ExtensionOptions})
 22630  		if !f(fd_TestUpdatedTxBody_extension_options, value) {
 22631  			return
 22632  		}
 22633  	}
 22634  	if len(x.NonCriticalExtensionOptions) != 0 {
 22635  		value := protoreflect.ValueOfList(&_TestUpdatedTxBody_2047_list{list: &x.NonCriticalExtensionOptions})
 22636  		if !f(fd_TestUpdatedTxBody_non_critical_extension_options, value) {
 22637  			return
 22638  		}
 22639  	}
 22640  }
 22641  
 22642  // Has reports whether a field is populated.
 22643  //
 22644  // Some fields have the property of nullability where it is possible to
 22645  // distinguish between the default value of a field and whether the field
 22646  // was explicitly populated with the default value. Singular message fields,
 22647  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 22648  // fields are populated only if explicitly set.
 22649  //
 22650  // In other cases (aside from the nullable cases above),
 22651  // a proto3 scalar field is populated if it contains a non-zero value, and
 22652  // a repeated field is populated if it is non-empty.
 22653  func (x *fastReflection_TestUpdatedTxBody) Has(fd protoreflect.FieldDescriptor) bool {
 22654  	switch fd.FullName() {
 22655  	case "testpb.TestUpdatedTxBody.messages":
 22656  		return len(x.Messages) != 0
 22657  	case "testpb.TestUpdatedTxBody.memo":
 22658  		return x.Memo != ""
 22659  	case "testpb.TestUpdatedTxBody.timeout_height":
 22660  		return x.TimeoutHeight != int64(0)
 22661  	case "testpb.TestUpdatedTxBody.some_new_field":
 22662  		return x.SomeNewField != uint64(0)
 22663  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22664  		return x.SomeNewFieldNonCriticalField != ""
 22665  	case "testpb.TestUpdatedTxBody.extension_options":
 22666  		return len(x.ExtensionOptions) != 0
 22667  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22668  		return len(x.NonCriticalExtensionOptions) != 0
 22669  	default:
 22670  		if fd.IsExtension() {
 22671  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22672  		}
 22673  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", fd.FullName()))
 22674  	}
 22675  }
 22676  
 22677  // Clear clears the field such that a subsequent Has call reports false.
 22678  //
 22679  // Clearing an extension field clears both the extension type and value
 22680  // associated with the given field number.
 22681  //
 22682  // Clear is a mutating operation and unsafe for concurrent use.
 22683  func (x *fastReflection_TestUpdatedTxBody) Clear(fd protoreflect.FieldDescriptor) {
 22684  	switch fd.FullName() {
 22685  	case "testpb.TestUpdatedTxBody.messages":
 22686  		x.Messages = nil
 22687  	case "testpb.TestUpdatedTxBody.memo":
 22688  		x.Memo = ""
 22689  	case "testpb.TestUpdatedTxBody.timeout_height":
 22690  		x.TimeoutHeight = int64(0)
 22691  	case "testpb.TestUpdatedTxBody.some_new_field":
 22692  		x.SomeNewField = uint64(0)
 22693  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22694  		x.SomeNewFieldNonCriticalField = ""
 22695  	case "testpb.TestUpdatedTxBody.extension_options":
 22696  		x.ExtensionOptions = nil
 22697  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22698  		x.NonCriticalExtensionOptions = nil
 22699  	default:
 22700  		if fd.IsExtension() {
 22701  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22702  		}
 22703  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", fd.FullName()))
 22704  	}
 22705  }
 22706  
 22707  // Get retrieves the value for a field.
 22708  //
 22709  // For unpopulated scalars, it returns the default value, where
 22710  // the default value of a bytes scalar is guaranteed to be a copy.
 22711  // For unpopulated composite types, it returns an empty, read-only view
 22712  // of the value; to obtain a mutable reference, use Mutable.
 22713  func (x *fastReflection_TestUpdatedTxBody) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 22714  	switch descriptor.FullName() {
 22715  	case "testpb.TestUpdatedTxBody.messages":
 22716  		if len(x.Messages) == 0 {
 22717  			return protoreflect.ValueOfList(&_TestUpdatedTxBody_1_list{})
 22718  		}
 22719  		listValue := &_TestUpdatedTxBody_1_list{list: &x.Messages}
 22720  		return protoreflect.ValueOfList(listValue)
 22721  	case "testpb.TestUpdatedTxBody.memo":
 22722  		value := x.Memo
 22723  		return protoreflect.ValueOfString(value)
 22724  	case "testpb.TestUpdatedTxBody.timeout_height":
 22725  		value := x.TimeoutHeight
 22726  		return protoreflect.ValueOfInt64(value)
 22727  	case "testpb.TestUpdatedTxBody.some_new_field":
 22728  		value := x.SomeNewField
 22729  		return protoreflect.ValueOfUint64(value)
 22730  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22731  		value := x.SomeNewFieldNonCriticalField
 22732  		return protoreflect.ValueOfString(value)
 22733  	case "testpb.TestUpdatedTxBody.extension_options":
 22734  		if len(x.ExtensionOptions) == 0 {
 22735  			return protoreflect.ValueOfList(&_TestUpdatedTxBody_1023_list{})
 22736  		}
 22737  		listValue := &_TestUpdatedTxBody_1023_list{list: &x.ExtensionOptions}
 22738  		return protoreflect.ValueOfList(listValue)
 22739  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22740  		if len(x.NonCriticalExtensionOptions) == 0 {
 22741  			return protoreflect.ValueOfList(&_TestUpdatedTxBody_2047_list{})
 22742  		}
 22743  		listValue := &_TestUpdatedTxBody_2047_list{list: &x.NonCriticalExtensionOptions}
 22744  		return protoreflect.ValueOfList(listValue)
 22745  	default:
 22746  		if descriptor.IsExtension() {
 22747  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22748  		}
 22749  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", descriptor.FullName()))
 22750  	}
 22751  }
 22752  
 22753  // Set stores the value for a field.
 22754  //
 22755  // For a field belonging to a oneof, it implicitly clears any other field
 22756  // that may be currently set within the same oneof.
 22757  // For extension fields, it implicitly stores the provided ExtensionType.
 22758  // When setting a composite type, it is unspecified whether the stored value
 22759  // aliases the source's memory in any way. If the composite value is an
 22760  // empty, read-only value, then it panics.
 22761  //
 22762  // Set is a mutating operation and unsafe for concurrent use.
 22763  func (x *fastReflection_TestUpdatedTxBody) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 22764  	switch fd.FullName() {
 22765  	case "testpb.TestUpdatedTxBody.messages":
 22766  		lv := value.List()
 22767  		clv := lv.(*_TestUpdatedTxBody_1_list)
 22768  		x.Messages = *clv.list
 22769  	case "testpb.TestUpdatedTxBody.memo":
 22770  		x.Memo = value.Interface().(string)
 22771  	case "testpb.TestUpdatedTxBody.timeout_height":
 22772  		x.TimeoutHeight = value.Int()
 22773  	case "testpb.TestUpdatedTxBody.some_new_field":
 22774  		x.SomeNewField = value.Uint()
 22775  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22776  		x.SomeNewFieldNonCriticalField = value.Interface().(string)
 22777  	case "testpb.TestUpdatedTxBody.extension_options":
 22778  		lv := value.List()
 22779  		clv := lv.(*_TestUpdatedTxBody_1023_list)
 22780  		x.ExtensionOptions = *clv.list
 22781  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22782  		lv := value.List()
 22783  		clv := lv.(*_TestUpdatedTxBody_2047_list)
 22784  		x.NonCriticalExtensionOptions = *clv.list
 22785  	default:
 22786  		if fd.IsExtension() {
 22787  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22788  		}
 22789  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", fd.FullName()))
 22790  	}
 22791  }
 22792  
 22793  // Mutable returns a mutable reference to a composite type.
 22794  //
 22795  // If the field is unpopulated, it may allocate a composite value.
 22796  // For a field belonging to a oneof, it implicitly clears any other field
 22797  // that may be currently set within the same oneof.
 22798  // For extension fields, it implicitly stores the provided ExtensionType
 22799  // if not already stored.
 22800  // It panics if the field does not contain a composite type.
 22801  //
 22802  // Mutable is a mutating operation and unsafe for concurrent use.
 22803  func (x *fastReflection_TestUpdatedTxBody) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 22804  	switch fd.FullName() {
 22805  	case "testpb.TestUpdatedTxBody.messages":
 22806  		if x.Messages == nil {
 22807  			x.Messages = []*anypb.Any{}
 22808  		}
 22809  		value := &_TestUpdatedTxBody_1_list{list: &x.Messages}
 22810  		return protoreflect.ValueOfList(value)
 22811  	case "testpb.TestUpdatedTxBody.extension_options":
 22812  		if x.ExtensionOptions == nil {
 22813  			x.ExtensionOptions = []*anypb.Any{}
 22814  		}
 22815  		value := &_TestUpdatedTxBody_1023_list{list: &x.ExtensionOptions}
 22816  		return protoreflect.ValueOfList(value)
 22817  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22818  		if x.NonCriticalExtensionOptions == nil {
 22819  			x.NonCriticalExtensionOptions = []*anypb.Any{}
 22820  		}
 22821  		value := &_TestUpdatedTxBody_2047_list{list: &x.NonCriticalExtensionOptions}
 22822  		return protoreflect.ValueOfList(value)
 22823  	case "testpb.TestUpdatedTxBody.memo":
 22824  		panic(fmt.Errorf("field memo of message testpb.TestUpdatedTxBody is not mutable"))
 22825  	case "testpb.TestUpdatedTxBody.timeout_height":
 22826  		panic(fmt.Errorf("field timeout_height of message testpb.TestUpdatedTxBody is not mutable"))
 22827  	case "testpb.TestUpdatedTxBody.some_new_field":
 22828  		panic(fmt.Errorf("field some_new_field of message testpb.TestUpdatedTxBody is not mutable"))
 22829  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22830  		panic(fmt.Errorf("field some_new_field_non_critical_field of message testpb.TestUpdatedTxBody is not mutable"))
 22831  	default:
 22832  		if fd.IsExtension() {
 22833  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22834  		}
 22835  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", fd.FullName()))
 22836  	}
 22837  }
 22838  
 22839  // NewField returns a new value that is assignable to the field
 22840  // for the given descriptor. For scalars, this returns the default value.
 22841  // For lists, maps, and messages, this returns a new, empty, mutable value.
 22842  func (x *fastReflection_TestUpdatedTxBody) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 22843  	switch fd.FullName() {
 22844  	case "testpb.TestUpdatedTxBody.messages":
 22845  		list := []*anypb.Any{}
 22846  		return protoreflect.ValueOfList(&_TestUpdatedTxBody_1_list{list: &list})
 22847  	case "testpb.TestUpdatedTxBody.memo":
 22848  		return protoreflect.ValueOfString("")
 22849  	case "testpb.TestUpdatedTxBody.timeout_height":
 22850  		return protoreflect.ValueOfInt64(int64(0))
 22851  	case "testpb.TestUpdatedTxBody.some_new_field":
 22852  		return protoreflect.ValueOfUint64(uint64(0))
 22853  	case "testpb.TestUpdatedTxBody.some_new_field_non_critical_field":
 22854  		return protoreflect.ValueOfString("")
 22855  	case "testpb.TestUpdatedTxBody.extension_options":
 22856  		list := []*anypb.Any{}
 22857  		return protoreflect.ValueOfList(&_TestUpdatedTxBody_1023_list{list: &list})
 22858  	case "testpb.TestUpdatedTxBody.non_critical_extension_options":
 22859  		list := []*anypb.Any{}
 22860  		return protoreflect.ValueOfList(&_TestUpdatedTxBody_2047_list{list: &list})
 22861  	default:
 22862  		if fd.IsExtension() {
 22863  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedTxBody"))
 22864  		}
 22865  		panic(fmt.Errorf("message testpb.TestUpdatedTxBody does not contain field %s", fd.FullName()))
 22866  	}
 22867  }
 22868  
 22869  // WhichOneof reports which field within the oneof is populated,
 22870  // returning nil if none are populated.
 22871  // It panics if the oneof descriptor does not belong to this message.
 22872  func (x *fastReflection_TestUpdatedTxBody) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 22873  	switch d.FullName() {
 22874  	default:
 22875  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestUpdatedTxBody", d.FullName()))
 22876  	}
 22877  	panic("unreachable")
 22878  }
 22879  
 22880  // GetUnknown retrieves the entire list of unknown fields.
 22881  // The caller may only mutate the contents of the RawFields
 22882  // if the mutated bytes are stored back into the message with SetUnknown.
 22883  func (x *fastReflection_TestUpdatedTxBody) GetUnknown() protoreflect.RawFields {
 22884  	return x.unknownFields
 22885  }
 22886  
 22887  // SetUnknown stores an entire list of unknown fields.
 22888  // The raw fields must be syntactically valid according to the wire format.
 22889  // An implementation may panic if this is not the case.
 22890  // Once stored, the caller must not mutate the content of the RawFields.
 22891  // An empty RawFields may be passed to clear the fields.
 22892  //
 22893  // SetUnknown is a mutating operation and unsafe for concurrent use.
 22894  func (x *fastReflection_TestUpdatedTxBody) SetUnknown(fields protoreflect.RawFields) {
 22895  	x.unknownFields = fields
 22896  }
 22897  
 22898  // IsValid reports whether the message is valid.
 22899  //
 22900  // An invalid message is an empty, read-only value.
 22901  //
 22902  // An invalid message often corresponds to a nil pointer of the concrete
 22903  // message type, but the details are implementation dependent.
 22904  // Validity is not part of the protobuf data model, and may not
 22905  // be preserved in marshaling or other operations.
 22906  func (x *fastReflection_TestUpdatedTxBody) IsValid() bool {
 22907  	return x != nil
 22908  }
 22909  
 22910  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 22911  // This method may return nil.
 22912  //
 22913  // The returned methods type is identical to
 22914  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 22915  // Consult the protoiface package documentation for details.
 22916  func (x *fastReflection_TestUpdatedTxBody) ProtoMethods() *protoiface.Methods {
 22917  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 22918  		x := input.Message.Interface().(*TestUpdatedTxBody)
 22919  		if x == nil {
 22920  			return protoiface.SizeOutput{
 22921  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22922  				Size:              0,
 22923  			}
 22924  		}
 22925  		options := runtime.SizeInputToOptions(input)
 22926  		_ = options
 22927  		var n int
 22928  		var l int
 22929  		_ = l
 22930  		if len(x.Messages) > 0 {
 22931  			for _, e := range x.Messages {
 22932  				l = options.Size(e)
 22933  				n += 1 + l + runtime.Sov(uint64(l))
 22934  			}
 22935  		}
 22936  		l = len(x.Memo)
 22937  		if l > 0 {
 22938  			n += 1 + l + runtime.Sov(uint64(l))
 22939  		}
 22940  		if x.TimeoutHeight != 0 {
 22941  			n += 1 + runtime.Sov(uint64(x.TimeoutHeight))
 22942  		}
 22943  		if x.SomeNewField != 0 {
 22944  			n += 1 + runtime.Sov(uint64(x.SomeNewField))
 22945  		}
 22946  		l = len(x.SomeNewFieldNonCriticalField)
 22947  		if l > 0 {
 22948  			n += 2 + l + runtime.Sov(uint64(l))
 22949  		}
 22950  		if len(x.ExtensionOptions) > 0 {
 22951  			for _, e := range x.ExtensionOptions {
 22952  				l = options.Size(e)
 22953  				n += 2 + l + runtime.Sov(uint64(l))
 22954  			}
 22955  		}
 22956  		if len(x.NonCriticalExtensionOptions) > 0 {
 22957  			for _, e := range x.NonCriticalExtensionOptions {
 22958  				l = options.Size(e)
 22959  				n += 2 + l + runtime.Sov(uint64(l))
 22960  			}
 22961  		}
 22962  		if x.unknownFields != nil {
 22963  			n += len(x.unknownFields)
 22964  		}
 22965  		return protoiface.SizeOutput{
 22966  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22967  			Size:              n,
 22968  		}
 22969  	}
 22970  
 22971  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 22972  		x := input.Message.Interface().(*TestUpdatedTxBody)
 22973  		if x == nil {
 22974  			return protoiface.MarshalOutput{
 22975  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22976  				Buf:               input.Buf,
 22977  			}, nil
 22978  		}
 22979  		options := runtime.MarshalInputToOptions(input)
 22980  		_ = options
 22981  		size := options.Size(x)
 22982  		dAtA := make([]byte, size)
 22983  		i := len(dAtA)
 22984  		_ = i
 22985  		var l int
 22986  		_ = l
 22987  		if x.unknownFields != nil {
 22988  			i -= len(x.unknownFields)
 22989  			copy(dAtA[i:], x.unknownFields)
 22990  		}
 22991  		if len(x.NonCriticalExtensionOptions) > 0 {
 22992  			for iNdEx := len(x.NonCriticalExtensionOptions) - 1; iNdEx >= 0; iNdEx-- {
 22993  				encoded, err := options.Marshal(x.NonCriticalExtensionOptions[iNdEx])
 22994  				if err != nil {
 22995  					return protoiface.MarshalOutput{
 22996  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 22997  						Buf:               input.Buf,
 22998  					}, err
 22999  				}
 23000  				i -= len(encoded)
 23001  				copy(dAtA[i:], encoded)
 23002  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 23003  				i--
 23004  				dAtA[i] = 0x7f
 23005  				i--
 23006  				dAtA[i] = 0xfa
 23007  			}
 23008  		}
 23009  		if len(x.SomeNewFieldNonCriticalField) > 0 {
 23010  			i -= len(x.SomeNewFieldNonCriticalField)
 23011  			copy(dAtA[i:], x.SomeNewFieldNonCriticalField)
 23012  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SomeNewFieldNonCriticalField)))
 23013  			i--
 23014  			dAtA[i] = 0x41
 23015  			i--
 23016  			dAtA[i] = 0xd2
 23017  		}
 23018  		if len(x.ExtensionOptions) > 0 {
 23019  			for iNdEx := len(x.ExtensionOptions) - 1; iNdEx >= 0; iNdEx-- {
 23020  				encoded, err := options.Marshal(x.ExtensionOptions[iNdEx])
 23021  				if err != nil {
 23022  					return protoiface.MarshalOutput{
 23023  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23024  						Buf:               input.Buf,
 23025  					}, err
 23026  				}
 23027  				i -= len(encoded)
 23028  				copy(dAtA[i:], encoded)
 23029  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 23030  				i--
 23031  				dAtA[i] = 0x3f
 23032  				i--
 23033  				dAtA[i] = 0xfa
 23034  			}
 23035  		}
 23036  		if x.SomeNewField != 0 {
 23037  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SomeNewField))
 23038  			i--
 23039  			dAtA[i] = 0x20
 23040  		}
 23041  		if x.TimeoutHeight != 0 {
 23042  			i = runtime.EncodeVarint(dAtA, i, uint64(x.TimeoutHeight))
 23043  			i--
 23044  			dAtA[i] = 0x18
 23045  		}
 23046  		if len(x.Memo) > 0 {
 23047  			i -= len(x.Memo)
 23048  			copy(dAtA[i:], x.Memo)
 23049  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Memo)))
 23050  			i--
 23051  			dAtA[i] = 0x12
 23052  		}
 23053  		if len(x.Messages) > 0 {
 23054  			for iNdEx := len(x.Messages) - 1; iNdEx >= 0; iNdEx-- {
 23055  				encoded, err := options.Marshal(x.Messages[iNdEx])
 23056  				if err != nil {
 23057  					return protoiface.MarshalOutput{
 23058  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23059  						Buf:               input.Buf,
 23060  					}, err
 23061  				}
 23062  				i -= len(encoded)
 23063  				copy(dAtA[i:], encoded)
 23064  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 23065  				i--
 23066  				dAtA[i] = 0xa
 23067  			}
 23068  		}
 23069  		if input.Buf != nil {
 23070  			input.Buf = append(input.Buf, dAtA...)
 23071  		} else {
 23072  			input.Buf = dAtA
 23073  		}
 23074  		return protoiface.MarshalOutput{
 23075  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23076  			Buf:               input.Buf,
 23077  		}, nil
 23078  	}
 23079  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 23080  		x := input.Message.Interface().(*TestUpdatedTxBody)
 23081  		if x == nil {
 23082  			return protoiface.UnmarshalOutput{
 23083  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23084  				Flags:             input.Flags,
 23085  			}, nil
 23086  		}
 23087  		options := runtime.UnmarshalInputToOptions(input)
 23088  		_ = options
 23089  		dAtA := input.Buf
 23090  		l := len(dAtA)
 23091  		iNdEx := 0
 23092  		for iNdEx < l {
 23093  			preIndex := iNdEx
 23094  			var wire uint64
 23095  			for shift := uint(0); ; shift += 7 {
 23096  				if shift >= 64 {
 23097  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23098  				}
 23099  				if iNdEx >= l {
 23100  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23101  				}
 23102  				b := dAtA[iNdEx]
 23103  				iNdEx++
 23104  				wire |= uint64(b&0x7F) << shift
 23105  				if b < 0x80 {
 23106  					break
 23107  				}
 23108  			}
 23109  			fieldNum := int32(wire >> 3)
 23110  			wireType := int(wire & 0x7)
 23111  			if wireType == 4 {
 23112  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedTxBody: wiretype end group for non-group")
 23113  			}
 23114  			if fieldNum <= 0 {
 23115  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedTxBody: illegal tag %d (wire type %d)", fieldNum, wire)
 23116  			}
 23117  			switch fieldNum {
 23118  			case 1:
 23119  				if wireType != 2 {
 23120  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType)
 23121  				}
 23122  				var msglen int
 23123  				for shift := uint(0); ; shift += 7 {
 23124  					if shift >= 64 {
 23125  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23126  					}
 23127  					if iNdEx >= l {
 23128  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23129  					}
 23130  					b := dAtA[iNdEx]
 23131  					iNdEx++
 23132  					msglen |= int(b&0x7F) << shift
 23133  					if b < 0x80 {
 23134  						break
 23135  					}
 23136  				}
 23137  				if msglen < 0 {
 23138  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23139  				}
 23140  				postIndex := iNdEx + msglen
 23141  				if postIndex < 0 {
 23142  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23143  				}
 23144  				if postIndex > l {
 23145  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23146  				}
 23147  				x.Messages = append(x.Messages, &anypb.Any{})
 23148  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Messages[len(x.Messages)-1]); err != nil {
 23149  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23150  				}
 23151  				iNdEx = postIndex
 23152  			case 2:
 23153  				if wireType != 2 {
 23154  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType)
 23155  				}
 23156  				var stringLen uint64
 23157  				for shift := uint(0); ; shift += 7 {
 23158  					if shift >= 64 {
 23159  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23160  					}
 23161  					if iNdEx >= l {
 23162  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23163  					}
 23164  					b := dAtA[iNdEx]
 23165  					iNdEx++
 23166  					stringLen |= uint64(b&0x7F) << shift
 23167  					if b < 0x80 {
 23168  						break
 23169  					}
 23170  				}
 23171  				intStringLen := int(stringLen)
 23172  				if intStringLen < 0 {
 23173  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23174  				}
 23175  				postIndex := iNdEx + intStringLen
 23176  				if postIndex < 0 {
 23177  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23178  				}
 23179  				if postIndex > l {
 23180  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23181  				}
 23182  				x.Memo = string(dAtA[iNdEx:postIndex])
 23183  				iNdEx = postIndex
 23184  			case 3:
 23185  				if wireType != 0 {
 23186  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TimeoutHeight", wireType)
 23187  				}
 23188  				x.TimeoutHeight = 0
 23189  				for shift := uint(0); ; shift += 7 {
 23190  					if shift >= 64 {
 23191  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23192  					}
 23193  					if iNdEx >= l {
 23194  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23195  					}
 23196  					b := dAtA[iNdEx]
 23197  					iNdEx++
 23198  					x.TimeoutHeight |= int64(b&0x7F) << shift
 23199  					if b < 0x80 {
 23200  						break
 23201  					}
 23202  				}
 23203  			case 4:
 23204  				if wireType != 0 {
 23205  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SomeNewField", wireType)
 23206  				}
 23207  				x.SomeNewField = 0
 23208  				for shift := uint(0); ; shift += 7 {
 23209  					if shift >= 64 {
 23210  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23211  					}
 23212  					if iNdEx >= l {
 23213  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23214  					}
 23215  					b := dAtA[iNdEx]
 23216  					iNdEx++
 23217  					x.SomeNewField |= uint64(b&0x7F) << shift
 23218  					if b < 0x80 {
 23219  						break
 23220  					}
 23221  				}
 23222  			case 1050:
 23223  				if wireType != 2 {
 23224  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SomeNewFieldNonCriticalField", wireType)
 23225  				}
 23226  				var stringLen uint64
 23227  				for shift := uint(0); ; shift += 7 {
 23228  					if shift >= 64 {
 23229  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23230  					}
 23231  					if iNdEx >= l {
 23232  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23233  					}
 23234  					b := dAtA[iNdEx]
 23235  					iNdEx++
 23236  					stringLen |= uint64(b&0x7F) << shift
 23237  					if b < 0x80 {
 23238  						break
 23239  					}
 23240  				}
 23241  				intStringLen := int(stringLen)
 23242  				if intStringLen < 0 {
 23243  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23244  				}
 23245  				postIndex := iNdEx + intStringLen
 23246  				if postIndex < 0 {
 23247  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23248  				}
 23249  				if postIndex > l {
 23250  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23251  				}
 23252  				x.SomeNewFieldNonCriticalField = string(dAtA[iNdEx:postIndex])
 23253  				iNdEx = postIndex
 23254  			case 1023:
 23255  				if wireType != 2 {
 23256  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ExtensionOptions", wireType)
 23257  				}
 23258  				var msglen int
 23259  				for shift := uint(0); ; shift += 7 {
 23260  					if shift >= 64 {
 23261  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23262  					}
 23263  					if iNdEx >= l {
 23264  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23265  					}
 23266  					b := dAtA[iNdEx]
 23267  					iNdEx++
 23268  					msglen |= int(b&0x7F) << shift
 23269  					if b < 0x80 {
 23270  						break
 23271  					}
 23272  				}
 23273  				if msglen < 0 {
 23274  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23275  				}
 23276  				postIndex := iNdEx + msglen
 23277  				if postIndex < 0 {
 23278  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23279  				}
 23280  				if postIndex > l {
 23281  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23282  				}
 23283  				x.ExtensionOptions = append(x.ExtensionOptions, &anypb.Any{})
 23284  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ExtensionOptions[len(x.ExtensionOptions)-1]); err != nil {
 23285  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23286  				}
 23287  				iNdEx = postIndex
 23288  			case 2047:
 23289  				if wireType != 2 {
 23290  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NonCriticalExtensionOptions", wireType)
 23291  				}
 23292  				var msglen int
 23293  				for shift := uint(0); ; shift += 7 {
 23294  					if shift >= 64 {
 23295  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23296  					}
 23297  					if iNdEx >= l {
 23298  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23299  					}
 23300  					b := dAtA[iNdEx]
 23301  					iNdEx++
 23302  					msglen |= int(b&0x7F) << shift
 23303  					if b < 0x80 {
 23304  						break
 23305  					}
 23306  				}
 23307  				if msglen < 0 {
 23308  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23309  				}
 23310  				postIndex := iNdEx + msglen
 23311  				if postIndex < 0 {
 23312  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23313  				}
 23314  				if postIndex > l {
 23315  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23316  				}
 23317  				x.NonCriticalExtensionOptions = append(x.NonCriticalExtensionOptions, &anypb.Any{})
 23318  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NonCriticalExtensionOptions[len(x.NonCriticalExtensionOptions)-1]); err != nil {
 23319  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23320  				}
 23321  				iNdEx = postIndex
 23322  			default:
 23323  				iNdEx = preIndex
 23324  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 23325  				if err != nil {
 23326  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23327  				}
 23328  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 23329  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23330  				}
 23331  				if (iNdEx + skippy) > l {
 23332  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23333  				}
 23334  				if !options.DiscardUnknown {
 23335  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 23336  				}
 23337  				iNdEx += skippy
 23338  			}
 23339  		}
 23340  
 23341  		if iNdEx > l {
 23342  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23343  		}
 23344  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 23345  	}
 23346  	return &protoiface.Methods{
 23347  		NoUnkeyedLiterals: struct{}{},
 23348  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 23349  		Size:              size,
 23350  		Marshal:           marshal,
 23351  		Unmarshal:         unmarshal,
 23352  		Merge:             nil,
 23353  		CheckInitialized:  nil,
 23354  	}
 23355  }
 23356  
 23357  var _ protoreflect.List = (*_TestUpdatedAuthInfo_1_list)(nil)
 23358  
 23359  type _TestUpdatedAuthInfo_1_list struct {
 23360  	list *[]*v1beta1.SignerInfo
 23361  }
 23362  
 23363  func (x *_TestUpdatedAuthInfo_1_list) Len() int {
 23364  	if x.list == nil {
 23365  		return 0
 23366  	}
 23367  	return len(*x.list)
 23368  }
 23369  
 23370  func (x *_TestUpdatedAuthInfo_1_list) Get(i int) protoreflect.Value {
 23371  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
 23372  }
 23373  
 23374  func (x *_TestUpdatedAuthInfo_1_list) Set(i int, value protoreflect.Value) {
 23375  	valueUnwrapped := value.Message()
 23376  	concreteValue := valueUnwrapped.Interface().(*v1beta1.SignerInfo)
 23377  	(*x.list)[i] = concreteValue
 23378  }
 23379  
 23380  func (x *_TestUpdatedAuthInfo_1_list) Append(value protoreflect.Value) {
 23381  	valueUnwrapped := value.Message()
 23382  	concreteValue := valueUnwrapped.Interface().(*v1beta1.SignerInfo)
 23383  	*x.list = append(*x.list, concreteValue)
 23384  }
 23385  
 23386  func (x *_TestUpdatedAuthInfo_1_list) AppendMutable() protoreflect.Value {
 23387  	v := new(v1beta1.SignerInfo)
 23388  	*x.list = append(*x.list, v)
 23389  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 23390  }
 23391  
 23392  func (x *_TestUpdatedAuthInfo_1_list) Truncate(n int) {
 23393  	for i := n; i < len(*x.list); i++ {
 23394  		(*x.list)[i] = nil
 23395  	}
 23396  	*x.list = (*x.list)[:n]
 23397  }
 23398  
 23399  func (x *_TestUpdatedAuthInfo_1_list) NewElement() protoreflect.Value {
 23400  	v := new(v1beta1.SignerInfo)
 23401  	return protoreflect.ValueOfMessage(v.ProtoReflect())
 23402  }
 23403  
 23404  func (x *_TestUpdatedAuthInfo_1_list) IsValid() bool {
 23405  	return x.list != nil
 23406  }
 23407  
 23408  var (
 23409  	md_TestUpdatedAuthInfo                protoreflect.MessageDescriptor
 23410  	fd_TestUpdatedAuthInfo_signer_infos   protoreflect.FieldDescriptor
 23411  	fd_TestUpdatedAuthInfo_fee            protoreflect.FieldDescriptor
 23412  	fd_TestUpdatedAuthInfo_new_field_3    protoreflect.FieldDescriptor
 23413  	fd_TestUpdatedAuthInfo_new_field_1024 protoreflect.FieldDescriptor
 23414  )
 23415  
 23416  func init() {
 23417  	file_testpb_unknonwnproto_proto_init()
 23418  	md_TestUpdatedAuthInfo = File_testpb_unknonwnproto_proto.Messages().ByName("TestUpdatedAuthInfo")
 23419  	fd_TestUpdatedAuthInfo_signer_infos = md_TestUpdatedAuthInfo.Fields().ByName("signer_infos")
 23420  	fd_TestUpdatedAuthInfo_fee = md_TestUpdatedAuthInfo.Fields().ByName("fee")
 23421  	fd_TestUpdatedAuthInfo_new_field_3 = md_TestUpdatedAuthInfo.Fields().ByName("new_field_3")
 23422  	fd_TestUpdatedAuthInfo_new_field_1024 = md_TestUpdatedAuthInfo.Fields().ByName("new_field_1024")
 23423  }
 23424  
 23425  var _ protoreflect.Message = (*fastReflection_TestUpdatedAuthInfo)(nil)
 23426  
 23427  type fastReflection_TestUpdatedAuthInfo TestUpdatedAuthInfo
 23428  
 23429  func (x *TestUpdatedAuthInfo) ProtoReflect() protoreflect.Message {
 23430  	return (*fastReflection_TestUpdatedAuthInfo)(x)
 23431  }
 23432  
 23433  func (x *TestUpdatedAuthInfo) slowProtoReflect() protoreflect.Message {
 23434  	mi := &file_testpb_unknonwnproto_proto_msgTypes[22]
 23435  	if protoimpl.UnsafeEnabled && x != nil {
 23436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 23437  		if ms.LoadMessageInfo() == nil {
 23438  			ms.StoreMessageInfo(mi)
 23439  		}
 23440  		return ms
 23441  	}
 23442  	return mi.MessageOf(x)
 23443  }
 23444  
 23445  var _fastReflection_TestUpdatedAuthInfo_messageType fastReflection_TestUpdatedAuthInfo_messageType
 23446  var _ protoreflect.MessageType = fastReflection_TestUpdatedAuthInfo_messageType{}
 23447  
 23448  type fastReflection_TestUpdatedAuthInfo_messageType struct{}
 23449  
 23450  func (x fastReflection_TestUpdatedAuthInfo_messageType) Zero() protoreflect.Message {
 23451  	return (*fastReflection_TestUpdatedAuthInfo)(nil)
 23452  }
 23453  func (x fastReflection_TestUpdatedAuthInfo_messageType) New() protoreflect.Message {
 23454  	return new(fastReflection_TestUpdatedAuthInfo)
 23455  }
 23456  func (x fastReflection_TestUpdatedAuthInfo_messageType) Descriptor() protoreflect.MessageDescriptor {
 23457  	return md_TestUpdatedAuthInfo
 23458  }
 23459  
 23460  // Descriptor returns message descriptor, which contains only the protobuf
 23461  // type information for the message.
 23462  func (x *fastReflection_TestUpdatedAuthInfo) Descriptor() protoreflect.MessageDescriptor {
 23463  	return md_TestUpdatedAuthInfo
 23464  }
 23465  
 23466  // Type returns the message type, which encapsulates both Go and protobuf
 23467  // type information. If the Go type information is not needed,
 23468  // it is recommended that the message descriptor be used instead.
 23469  func (x *fastReflection_TestUpdatedAuthInfo) Type() protoreflect.MessageType {
 23470  	return _fastReflection_TestUpdatedAuthInfo_messageType
 23471  }
 23472  
 23473  // New returns a newly allocated and mutable empty message.
 23474  func (x *fastReflection_TestUpdatedAuthInfo) New() protoreflect.Message {
 23475  	return new(fastReflection_TestUpdatedAuthInfo)
 23476  }
 23477  
 23478  // Interface unwraps the message reflection interface and
 23479  // returns the underlying ProtoMessage interface.
 23480  func (x *fastReflection_TestUpdatedAuthInfo) Interface() protoreflect.ProtoMessage {
 23481  	return (*TestUpdatedAuthInfo)(x)
 23482  }
 23483  
 23484  // Range iterates over every populated field in an undefined order,
 23485  // calling f for each field descriptor and value encountered.
 23486  // Range returns immediately if f returns false.
 23487  // While iterating, mutating operations may only be performed
 23488  // on the current field descriptor.
 23489  func (x *fastReflection_TestUpdatedAuthInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 23490  	if len(x.SignerInfos) != 0 {
 23491  		value := protoreflect.ValueOfList(&_TestUpdatedAuthInfo_1_list{list: &x.SignerInfos})
 23492  		if !f(fd_TestUpdatedAuthInfo_signer_infos, value) {
 23493  			return
 23494  		}
 23495  	}
 23496  	if x.Fee != nil {
 23497  		value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect())
 23498  		if !f(fd_TestUpdatedAuthInfo_fee, value) {
 23499  			return
 23500  		}
 23501  	}
 23502  	if len(x.NewField_3) != 0 {
 23503  		value := protoreflect.ValueOfBytes(x.NewField_3)
 23504  		if !f(fd_TestUpdatedAuthInfo_new_field_3, value) {
 23505  			return
 23506  		}
 23507  	}
 23508  	if len(x.NewField_1024) != 0 {
 23509  		value := protoreflect.ValueOfBytes(x.NewField_1024)
 23510  		if !f(fd_TestUpdatedAuthInfo_new_field_1024, value) {
 23511  			return
 23512  		}
 23513  	}
 23514  }
 23515  
 23516  // Has reports whether a field is populated.
 23517  //
 23518  // Some fields have the property of nullability where it is possible to
 23519  // distinguish between the default value of a field and whether the field
 23520  // was explicitly populated with the default value. Singular message fields,
 23521  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 23522  // fields are populated only if explicitly set.
 23523  //
 23524  // In other cases (aside from the nullable cases above),
 23525  // a proto3 scalar field is populated if it contains a non-zero value, and
 23526  // a repeated field is populated if it is non-empty.
 23527  func (x *fastReflection_TestUpdatedAuthInfo) Has(fd protoreflect.FieldDescriptor) bool {
 23528  	switch fd.FullName() {
 23529  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23530  		return len(x.SignerInfos) != 0
 23531  	case "testpb.TestUpdatedAuthInfo.fee":
 23532  		return x.Fee != nil
 23533  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23534  		return len(x.NewField_3) != 0
 23535  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23536  		return len(x.NewField_1024) != 0
 23537  	default:
 23538  		if fd.IsExtension() {
 23539  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23540  		}
 23541  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", fd.FullName()))
 23542  	}
 23543  }
 23544  
 23545  // Clear clears the field such that a subsequent Has call reports false.
 23546  //
 23547  // Clearing an extension field clears both the extension type and value
 23548  // associated with the given field number.
 23549  //
 23550  // Clear is a mutating operation and unsafe for concurrent use.
 23551  func (x *fastReflection_TestUpdatedAuthInfo) Clear(fd protoreflect.FieldDescriptor) {
 23552  	switch fd.FullName() {
 23553  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23554  		x.SignerInfos = nil
 23555  	case "testpb.TestUpdatedAuthInfo.fee":
 23556  		x.Fee = nil
 23557  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23558  		x.NewField_3 = nil
 23559  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23560  		x.NewField_1024 = nil
 23561  	default:
 23562  		if fd.IsExtension() {
 23563  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23564  		}
 23565  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", fd.FullName()))
 23566  	}
 23567  }
 23568  
 23569  // Get retrieves the value for a field.
 23570  //
 23571  // For unpopulated scalars, it returns the default value, where
 23572  // the default value of a bytes scalar is guaranteed to be a copy.
 23573  // For unpopulated composite types, it returns an empty, read-only view
 23574  // of the value; to obtain a mutable reference, use Mutable.
 23575  func (x *fastReflection_TestUpdatedAuthInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 23576  	switch descriptor.FullName() {
 23577  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23578  		if len(x.SignerInfos) == 0 {
 23579  			return protoreflect.ValueOfList(&_TestUpdatedAuthInfo_1_list{})
 23580  		}
 23581  		listValue := &_TestUpdatedAuthInfo_1_list{list: &x.SignerInfos}
 23582  		return protoreflect.ValueOfList(listValue)
 23583  	case "testpb.TestUpdatedAuthInfo.fee":
 23584  		value := x.Fee
 23585  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 23586  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23587  		value := x.NewField_3
 23588  		return protoreflect.ValueOfBytes(value)
 23589  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23590  		value := x.NewField_1024
 23591  		return protoreflect.ValueOfBytes(value)
 23592  	default:
 23593  		if descriptor.IsExtension() {
 23594  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23595  		}
 23596  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", descriptor.FullName()))
 23597  	}
 23598  }
 23599  
 23600  // Set stores the value for a field.
 23601  //
 23602  // For a field belonging to a oneof, it implicitly clears any other field
 23603  // that may be currently set within the same oneof.
 23604  // For extension fields, it implicitly stores the provided ExtensionType.
 23605  // When setting a composite type, it is unspecified whether the stored value
 23606  // aliases the source's memory in any way. If the composite value is an
 23607  // empty, read-only value, then it panics.
 23608  //
 23609  // Set is a mutating operation and unsafe for concurrent use.
 23610  func (x *fastReflection_TestUpdatedAuthInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 23611  	switch fd.FullName() {
 23612  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23613  		lv := value.List()
 23614  		clv := lv.(*_TestUpdatedAuthInfo_1_list)
 23615  		x.SignerInfos = *clv.list
 23616  	case "testpb.TestUpdatedAuthInfo.fee":
 23617  		x.Fee = value.Message().Interface().(*v1beta1.Fee)
 23618  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23619  		x.NewField_3 = value.Bytes()
 23620  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23621  		x.NewField_1024 = value.Bytes()
 23622  	default:
 23623  		if fd.IsExtension() {
 23624  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23625  		}
 23626  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", fd.FullName()))
 23627  	}
 23628  }
 23629  
 23630  // Mutable returns a mutable reference to a composite type.
 23631  //
 23632  // If the field is unpopulated, it may allocate a composite value.
 23633  // For a field belonging to a oneof, it implicitly clears any other field
 23634  // that may be currently set within the same oneof.
 23635  // For extension fields, it implicitly stores the provided ExtensionType
 23636  // if not already stored.
 23637  // It panics if the field does not contain a composite type.
 23638  //
 23639  // Mutable is a mutating operation and unsafe for concurrent use.
 23640  func (x *fastReflection_TestUpdatedAuthInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 23641  	switch fd.FullName() {
 23642  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23643  		if x.SignerInfos == nil {
 23644  			x.SignerInfos = []*v1beta1.SignerInfo{}
 23645  		}
 23646  		value := &_TestUpdatedAuthInfo_1_list{list: &x.SignerInfos}
 23647  		return protoreflect.ValueOfList(value)
 23648  	case "testpb.TestUpdatedAuthInfo.fee":
 23649  		if x.Fee == nil {
 23650  			x.Fee = new(v1beta1.Fee)
 23651  		}
 23652  		return protoreflect.ValueOfMessage(x.Fee.ProtoReflect())
 23653  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23654  		panic(fmt.Errorf("field new_field_3 of message testpb.TestUpdatedAuthInfo is not mutable"))
 23655  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23656  		panic(fmt.Errorf("field new_field_1024 of message testpb.TestUpdatedAuthInfo is not mutable"))
 23657  	default:
 23658  		if fd.IsExtension() {
 23659  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23660  		}
 23661  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", fd.FullName()))
 23662  	}
 23663  }
 23664  
 23665  // NewField returns a new value that is assignable to the field
 23666  // for the given descriptor. For scalars, this returns the default value.
 23667  // For lists, maps, and messages, this returns a new, empty, mutable value.
 23668  func (x *fastReflection_TestUpdatedAuthInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 23669  	switch fd.FullName() {
 23670  	case "testpb.TestUpdatedAuthInfo.signer_infos":
 23671  		list := []*v1beta1.SignerInfo{}
 23672  		return protoreflect.ValueOfList(&_TestUpdatedAuthInfo_1_list{list: &list})
 23673  	case "testpb.TestUpdatedAuthInfo.fee":
 23674  		m := new(v1beta1.Fee)
 23675  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 23676  	case "testpb.TestUpdatedAuthInfo.new_field_3":
 23677  		return protoreflect.ValueOfBytes(nil)
 23678  	case "testpb.TestUpdatedAuthInfo.new_field_1024":
 23679  		return protoreflect.ValueOfBytes(nil)
 23680  	default:
 23681  		if fd.IsExtension() {
 23682  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestUpdatedAuthInfo"))
 23683  		}
 23684  		panic(fmt.Errorf("message testpb.TestUpdatedAuthInfo does not contain field %s", fd.FullName()))
 23685  	}
 23686  }
 23687  
 23688  // WhichOneof reports which field within the oneof is populated,
 23689  // returning nil if none are populated.
 23690  // It panics if the oneof descriptor does not belong to this message.
 23691  func (x *fastReflection_TestUpdatedAuthInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 23692  	switch d.FullName() {
 23693  	default:
 23694  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestUpdatedAuthInfo", d.FullName()))
 23695  	}
 23696  	panic("unreachable")
 23697  }
 23698  
 23699  // GetUnknown retrieves the entire list of unknown fields.
 23700  // The caller may only mutate the contents of the RawFields
 23701  // if the mutated bytes are stored back into the message with SetUnknown.
 23702  func (x *fastReflection_TestUpdatedAuthInfo) GetUnknown() protoreflect.RawFields {
 23703  	return x.unknownFields
 23704  }
 23705  
 23706  // SetUnknown stores an entire list of unknown fields.
 23707  // The raw fields must be syntactically valid according to the wire format.
 23708  // An implementation may panic if this is not the case.
 23709  // Once stored, the caller must not mutate the content of the RawFields.
 23710  // An empty RawFields may be passed to clear the fields.
 23711  //
 23712  // SetUnknown is a mutating operation and unsafe for concurrent use.
 23713  func (x *fastReflection_TestUpdatedAuthInfo) SetUnknown(fields protoreflect.RawFields) {
 23714  	x.unknownFields = fields
 23715  }
 23716  
 23717  // IsValid reports whether the message is valid.
 23718  //
 23719  // An invalid message is an empty, read-only value.
 23720  //
 23721  // An invalid message often corresponds to a nil pointer of the concrete
 23722  // message type, but the details are implementation dependent.
 23723  // Validity is not part of the protobuf data model, and may not
 23724  // be preserved in marshaling or other operations.
 23725  func (x *fastReflection_TestUpdatedAuthInfo) IsValid() bool {
 23726  	return x != nil
 23727  }
 23728  
 23729  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 23730  // This method may return nil.
 23731  //
 23732  // The returned methods type is identical to
 23733  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 23734  // Consult the protoiface package documentation for details.
 23735  func (x *fastReflection_TestUpdatedAuthInfo) ProtoMethods() *protoiface.Methods {
 23736  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 23737  		x := input.Message.Interface().(*TestUpdatedAuthInfo)
 23738  		if x == nil {
 23739  			return protoiface.SizeOutput{
 23740  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23741  				Size:              0,
 23742  			}
 23743  		}
 23744  		options := runtime.SizeInputToOptions(input)
 23745  		_ = options
 23746  		var n int
 23747  		var l int
 23748  		_ = l
 23749  		if len(x.SignerInfos) > 0 {
 23750  			for _, e := range x.SignerInfos {
 23751  				l = options.Size(e)
 23752  				n += 1 + l + runtime.Sov(uint64(l))
 23753  			}
 23754  		}
 23755  		if x.Fee != nil {
 23756  			l = options.Size(x.Fee)
 23757  			n += 1 + l + runtime.Sov(uint64(l))
 23758  		}
 23759  		l = len(x.NewField_3)
 23760  		if l > 0 {
 23761  			n += 1 + l + runtime.Sov(uint64(l))
 23762  		}
 23763  		l = len(x.NewField_1024)
 23764  		if l > 0 {
 23765  			n += 2 + l + runtime.Sov(uint64(l))
 23766  		}
 23767  		if x.unknownFields != nil {
 23768  			n += len(x.unknownFields)
 23769  		}
 23770  		return protoiface.SizeOutput{
 23771  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23772  			Size:              n,
 23773  		}
 23774  	}
 23775  
 23776  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 23777  		x := input.Message.Interface().(*TestUpdatedAuthInfo)
 23778  		if x == nil {
 23779  			return protoiface.MarshalOutput{
 23780  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23781  				Buf:               input.Buf,
 23782  			}, nil
 23783  		}
 23784  		options := runtime.MarshalInputToOptions(input)
 23785  		_ = options
 23786  		size := options.Size(x)
 23787  		dAtA := make([]byte, size)
 23788  		i := len(dAtA)
 23789  		_ = i
 23790  		var l int
 23791  		_ = l
 23792  		if x.unknownFields != nil {
 23793  			i -= len(x.unknownFields)
 23794  			copy(dAtA[i:], x.unknownFields)
 23795  		}
 23796  		if len(x.NewField_1024) > 0 {
 23797  			i -= len(x.NewField_1024)
 23798  			copy(dAtA[i:], x.NewField_1024)
 23799  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewField_1024)))
 23800  			i--
 23801  			dAtA[i] = 0x40
 23802  			i--
 23803  			dAtA[i] = 0x82
 23804  		}
 23805  		if len(x.NewField_3) > 0 {
 23806  			i -= len(x.NewField_3)
 23807  			copy(dAtA[i:], x.NewField_3)
 23808  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewField_3)))
 23809  			i--
 23810  			dAtA[i] = 0x1a
 23811  		}
 23812  		if x.Fee != nil {
 23813  			encoded, err := options.Marshal(x.Fee)
 23814  			if err != nil {
 23815  				return protoiface.MarshalOutput{
 23816  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23817  					Buf:               input.Buf,
 23818  				}, err
 23819  			}
 23820  			i -= len(encoded)
 23821  			copy(dAtA[i:], encoded)
 23822  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 23823  			i--
 23824  			dAtA[i] = 0x12
 23825  		}
 23826  		if len(x.SignerInfos) > 0 {
 23827  			for iNdEx := len(x.SignerInfos) - 1; iNdEx >= 0; iNdEx-- {
 23828  				encoded, err := options.Marshal(x.SignerInfos[iNdEx])
 23829  				if err != nil {
 23830  					return protoiface.MarshalOutput{
 23831  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23832  						Buf:               input.Buf,
 23833  					}, err
 23834  				}
 23835  				i -= len(encoded)
 23836  				copy(dAtA[i:], encoded)
 23837  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 23838  				i--
 23839  				dAtA[i] = 0xa
 23840  			}
 23841  		}
 23842  		if input.Buf != nil {
 23843  			input.Buf = append(input.Buf, dAtA...)
 23844  		} else {
 23845  			input.Buf = dAtA
 23846  		}
 23847  		return protoiface.MarshalOutput{
 23848  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23849  			Buf:               input.Buf,
 23850  		}, nil
 23851  	}
 23852  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 23853  		x := input.Message.Interface().(*TestUpdatedAuthInfo)
 23854  		if x == nil {
 23855  			return protoiface.UnmarshalOutput{
 23856  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 23857  				Flags:             input.Flags,
 23858  			}, nil
 23859  		}
 23860  		options := runtime.UnmarshalInputToOptions(input)
 23861  		_ = options
 23862  		dAtA := input.Buf
 23863  		l := len(dAtA)
 23864  		iNdEx := 0
 23865  		for iNdEx < l {
 23866  			preIndex := iNdEx
 23867  			var wire uint64
 23868  			for shift := uint(0); ; shift += 7 {
 23869  				if shift >= 64 {
 23870  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23871  				}
 23872  				if iNdEx >= l {
 23873  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23874  				}
 23875  				b := dAtA[iNdEx]
 23876  				iNdEx++
 23877  				wire |= uint64(b&0x7F) << shift
 23878  				if b < 0x80 {
 23879  					break
 23880  				}
 23881  			}
 23882  			fieldNum := int32(wire >> 3)
 23883  			wireType := int(wire & 0x7)
 23884  			if wireType == 4 {
 23885  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedAuthInfo: wiretype end group for non-group")
 23886  			}
 23887  			if fieldNum <= 0 {
 23888  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestUpdatedAuthInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 23889  			}
 23890  			switch fieldNum {
 23891  			case 1:
 23892  				if wireType != 2 {
 23893  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SignerInfos", wireType)
 23894  				}
 23895  				var msglen int
 23896  				for shift := uint(0); ; shift += 7 {
 23897  					if shift >= 64 {
 23898  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23899  					}
 23900  					if iNdEx >= l {
 23901  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23902  					}
 23903  					b := dAtA[iNdEx]
 23904  					iNdEx++
 23905  					msglen |= int(b&0x7F) << shift
 23906  					if b < 0x80 {
 23907  						break
 23908  					}
 23909  				}
 23910  				if msglen < 0 {
 23911  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23912  				}
 23913  				postIndex := iNdEx + msglen
 23914  				if postIndex < 0 {
 23915  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23916  				}
 23917  				if postIndex > l {
 23918  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23919  				}
 23920  				x.SignerInfos = append(x.SignerInfos, &v1beta1.SignerInfo{})
 23921  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SignerInfos[len(x.SignerInfos)-1]); err != nil {
 23922  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23923  				}
 23924  				iNdEx = postIndex
 23925  			case 2:
 23926  				if wireType != 2 {
 23927  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
 23928  				}
 23929  				var msglen int
 23930  				for shift := uint(0); ; shift += 7 {
 23931  					if shift >= 64 {
 23932  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23933  					}
 23934  					if iNdEx >= l {
 23935  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23936  					}
 23937  					b := dAtA[iNdEx]
 23938  					iNdEx++
 23939  					msglen |= int(b&0x7F) << shift
 23940  					if b < 0x80 {
 23941  						break
 23942  					}
 23943  				}
 23944  				if msglen < 0 {
 23945  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23946  				}
 23947  				postIndex := iNdEx + msglen
 23948  				if postIndex < 0 {
 23949  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23950  				}
 23951  				if postIndex > l {
 23952  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23953  				}
 23954  				if x.Fee == nil {
 23955  					x.Fee = &v1beta1.Fee{}
 23956  				}
 23957  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); err != nil {
 23958  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 23959  				}
 23960  				iNdEx = postIndex
 23961  			case 3:
 23962  				if wireType != 2 {
 23963  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewField_3", wireType)
 23964  				}
 23965  				var byteLen int
 23966  				for shift := uint(0); ; shift += 7 {
 23967  					if shift >= 64 {
 23968  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 23969  					}
 23970  					if iNdEx >= l {
 23971  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23972  					}
 23973  					b := dAtA[iNdEx]
 23974  					iNdEx++
 23975  					byteLen |= int(b&0x7F) << shift
 23976  					if b < 0x80 {
 23977  						break
 23978  					}
 23979  				}
 23980  				if byteLen < 0 {
 23981  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23982  				}
 23983  				postIndex := iNdEx + byteLen
 23984  				if postIndex < 0 {
 23985  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 23986  				}
 23987  				if postIndex > l {
 23988  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 23989  				}
 23990  				x.NewField_3 = append(x.NewField_3[:0], dAtA[iNdEx:postIndex]...)
 23991  				if x.NewField_3 == nil {
 23992  					x.NewField_3 = []byte{}
 23993  				}
 23994  				iNdEx = postIndex
 23995  			case 1024:
 23996  				if wireType != 2 {
 23997  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewField_1024", wireType)
 23998  				}
 23999  				var byteLen int
 24000  				for shift := uint(0); ; shift += 7 {
 24001  					if shift >= 64 {
 24002  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 24003  					}
 24004  					if iNdEx >= l {
 24005  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24006  					}
 24007  					b := dAtA[iNdEx]
 24008  					iNdEx++
 24009  					byteLen |= int(b&0x7F) << shift
 24010  					if b < 0x80 {
 24011  						break
 24012  					}
 24013  				}
 24014  				if byteLen < 0 {
 24015  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24016  				}
 24017  				postIndex := iNdEx + byteLen
 24018  				if postIndex < 0 {
 24019  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24020  				}
 24021  				if postIndex > l {
 24022  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24023  				}
 24024  				x.NewField_1024 = append(x.NewField_1024[:0], dAtA[iNdEx:postIndex]...)
 24025  				if x.NewField_1024 == nil {
 24026  					x.NewField_1024 = []byte{}
 24027  				}
 24028  				iNdEx = postIndex
 24029  			default:
 24030  				iNdEx = preIndex
 24031  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 24032  				if err != nil {
 24033  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 24034  				}
 24035  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 24036  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24037  				}
 24038  				if (iNdEx + skippy) > l {
 24039  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24040  				}
 24041  				if !options.DiscardUnknown {
 24042  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 24043  				}
 24044  				iNdEx += skippy
 24045  			}
 24046  		}
 24047  
 24048  		if iNdEx > l {
 24049  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24050  		}
 24051  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 24052  	}
 24053  	return &protoiface.Methods{
 24054  		NoUnkeyedLiterals: struct{}{},
 24055  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 24056  		Size:              size,
 24057  		Marshal:           marshal,
 24058  		Unmarshal:         unmarshal,
 24059  		Merge:             nil,
 24060  		CheckInitialized:  nil,
 24061  	}
 24062  }
 24063  
 24064  var _ protoreflect.List = (*_TestRepeatedUints_1_list)(nil)
 24065  
 24066  type _TestRepeatedUints_1_list struct {
 24067  	list *[]uint64
 24068  }
 24069  
 24070  func (x *_TestRepeatedUints_1_list) Len() int {
 24071  	if x.list == nil {
 24072  		return 0
 24073  	}
 24074  	return len(*x.list)
 24075  }
 24076  
 24077  func (x *_TestRepeatedUints_1_list) Get(i int) protoreflect.Value {
 24078  	return protoreflect.ValueOfUint64((*x.list)[i])
 24079  }
 24080  
 24081  func (x *_TestRepeatedUints_1_list) Set(i int, value protoreflect.Value) {
 24082  	valueUnwrapped := value.Uint()
 24083  	concreteValue := valueUnwrapped
 24084  	(*x.list)[i] = concreteValue
 24085  }
 24086  
 24087  func (x *_TestRepeatedUints_1_list) Append(value protoreflect.Value) {
 24088  	valueUnwrapped := value.Uint()
 24089  	concreteValue := valueUnwrapped
 24090  	*x.list = append(*x.list, concreteValue)
 24091  }
 24092  
 24093  func (x *_TestRepeatedUints_1_list) AppendMutable() protoreflect.Value {
 24094  	panic(fmt.Errorf("AppendMutable can not be called on message TestRepeatedUints at list field Nums as it is not of Message kind"))
 24095  }
 24096  
 24097  func (x *_TestRepeatedUints_1_list) Truncate(n int) {
 24098  	*x.list = (*x.list)[:n]
 24099  }
 24100  
 24101  func (x *_TestRepeatedUints_1_list) NewElement() protoreflect.Value {
 24102  	v := uint64(0)
 24103  	return protoreflect.ValueOfUint64(v)
 24104  }
 24105  
 24106  func (x *_TestRepeatedUints_1_list) IsValid() bool {
 24107  	return x.list != nil
 24108  }
 24109  
 24110  var (
 24111  	md_TestRepeatedUints      protoreflect.MessageDescriptor
 24112  	fd_TestRepeatedUints_nums protoreflect.FieldDescriptor
 24113  )
 24114  
 24115  func init() {
 24116  	file_testpb_unknonwnproto_proto_init()
 24117  	md_TestRepeatedUints = File_testpb_unknonwnproto_proto.Messages().ByName("TestRepeatedUints")
 24118  	fd_TestRepeatedUints_nums = md_TestRepeatedUints.Fields().ByName("nums")
 24119  }
 24120  
 24121  var _ protoreflect.Message = (*fastReflection_TestRepeatedUints)(nil)
 24122  
 24123  type fastReflection_TestRepeatedUints TestRepeatedUints
 24124  
 24125  func (x *TestRepeatedUints) ProtoReflect() protoreflect.Message {
 24126  	return (*fastReflection_TestRepeatedUints)(x)
 24127  }
 24128  
 24129  func (x *TestRepeatedUints) slowProtoReflect() protoreflect.Message {
 24130  	mi := &file_testpb_unknonwnproto_proto_msgTypes[23]
 24131  	if protoimpl.UnsafeEnabled && x != nil {
 24132  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24133  		if ms.LoadMessageInfo() == nil {
 24134  			ms.StoreMessageInfo(mi)
 24135  		}
 24136  		return ms
 24137  	}
 24138  	return mi.MessageOf(x)
 24139  }
 24140  
 24141  var _fastReflection_TestRepeatedUints_messageType fastReflection_TestRepeatedUints_messageType
 24142  var _ protoreflect.MessageType = fastReflection_TestRepeatedUints_messageType{}
 24143  
 24144  type fastReflection_TestRepeatedUints_messageType struct{}
 24145  
 24146  func (x fastReflection_TestRepeatedUints_messageType) Zero() protoreflect.Message {
 24147  	return (*fastReflection_TestRepeatedUints)(nil)
 24148  }
 24149  func (x fastReflection_TestRepeatedUints_messageType) New() protoreflect.Message {
 24150  	return new(fastReflection_TestRepeatedUints)
 24151  }
 24152  func (x fastReflection_TestRepeatedUints_messageType) Descriptor() protoreflect.MessageDescriptor {
 24153  	return md_TestRepeatedUints
 24154  }
 24155  
 24156  // Descriptor returns message descriptor, which contains only the protobuf
 24157  // type information for the message.
 24158  func (x *fastReflection_TestRepeatedUints) Descriptor() protoreflect.MessageDescriptor {
 24159  	return md_TestRepeatedUints
 24160  }
 24161  
 24162  // Type returns the message type, which encapsulates both Go and protobuf
 24163  // type information. If the Go type information is not needed,
 24164  // it is recommended that the message descriptor be used instead.
 24165  func (x *fastReflection_TestRepeatedUints) Type() protoreflect.MessageType {
 24166  	return _fastReflection_TestRepeatedUints_messageType
 24167  }
 24168  
 24169  // New returns a newly allocated and mutable empty message.
 24170  func (x *fastReflection_TestRepeatedUints) New() protoreflect.Message {
 24171  	return new(fastReflection_TestRepeatedUints)
 24172  }
 24173  
 24174  // Interface unwraps the message reflection interface and
 24175  // returns the underlying ProtoMessage interface.
 24176  func (x *fastReflection_TestRepeatedUints) Interface() protoreflect.ProtoMessage {
 24177  	return (*TestRepeatedUints)(x)
 24178  }
 24179  
 24180  // Range iterates over every populated field in an undefined order,
 24181  // calling f for each field descriptor and value encountered.
 24182  // Range returns immediately if f returns false.
 24183  // While iterating, mutating operations may only be performed
 24184  // on the current field descriptor.
 24185  func (x *fastReflection_TestRepeatedUints) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 24186  	if len(x.Nums) != 0 {
 24187  		value := protoreflect.ValueOfList(&_TestRepeatedUints_1_list{list: &x.Nums})
 24188  		if !f(fd_TestRepeatedUints_nums, value) {
 24189  			return
 24190  		}
 24191  	}
 24192  }
 24193  
 24194  // Has reports whether a field is populated.
 24195  //
 24196  // Some fields have the property of nullability where it is possible to
 24197  // distinguish between the default value of a field and whether the field
 24198  // was explicitly populated with the default value. Singular message fields,
 24199  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 24200  // fields are populated only if explicitly set.
 24201  //
 24202  // In other cases (aside from the nullable cases above),
 24203  // a proto3 scalar field is populated if it contains a non-zero value, and
 24204  // a repeated field is populated if it is non-empty.
 24205  func (x *fastReflection_TestRepeatedUints) Has(fd protoreflect.FieldDescriptor) bool {
 24206  	switch fd.FullName() {
 24207  	case "testpb.TestRepeatedUints.nums":
 24208  		return len(x.Nums) != 0
 24209  	default:
 24210  		if fd.IsExtension() {
 24211  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24212  		}
 24213  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", fd.FullName()))
 24214  	}
 24215  }
 24216  
 24217  // Clear clears the field such that a subsequent Has call reports false.
 24218  //
 24219  // Clearing an extension field clears both the extension type and value
 24220  // associated with the given field number.
 24221  //
 24222  // Clear is a mutating operation and unsafe for concurrent use.
 24223  func (x *fastReflection_TestRepeatedUints) Clear(fd protoreflect.FieldDescriptor) {
 24224  	switch fd.FullName() {
 24225  	case "testpb.TestRepeatedUints.nums":
 24226  		x.Nums = nil
 24227  	default:
 24228  		if fd.IsExtension() {
 24229  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24230  		}
 24231  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", fd.FullName()))
 24232  	}
 24233  }
 24234  
 24235  // Get retrieves the value for a field.
 24236  //
 24237  // For unpopulated scalars, it returns the default value, where
 24238  // the default value of a bytes scalar is guaranteed to be a copy.
 24239  // For unpopulated composite types, it returns an empty, read-only view
 24240  // of the value; to obtain a mutable reference, use Mutable.
 24241  func (x *fastReflection_TestRepeatedUints) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 24242  	switch descriptor.FullName() {
 24243  	case "testpb.TestRepeatedUints.nums":
 24244  		if len(x.Nums) == 0 {
 24245  			return protoreflect.ValueOfList(&_TestRepeatedUints_1_list{})
 24246  		}
 24247  		listValue := &_TestRepeatedUints_1_list{list: &x.Nums}
 24248  		return protoreflect.ValueOfList(listValue)
 24249  	default:
 24250  		if descriptor.IsExtension() {
 24251  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24252  		}
 24253  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", descriptor.FullName()))
 24254  	}
 24255  }
 24256  
 24257  // Set stores the value for a field.
 24258  //
 24259  // For a field belonging to a oneof, it implicitly clears any other field
 24260  // that may be currently set within the same oneof.
 24261  // For extension fields, it implicitly stores the provided ExtensionType.
 24262  // When setting a composite type, it is unspecified whether the stored value
 24263  // aliases the source's memory in any way. If the composite value is an
 24264  // empty, read-only value, then it panics.
 24265  //
 24266  // Set is a mutating operation and unsafe for concurrent use.
 24267  func (x *fastReflection_TestRepeatedUints) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 24268  	switch fd.FullName() {
 24269  	case "testpb.TestRepeatedUints.nums":
 24270  		lv := value.List()
 24271  		clv := lv.(*_TestRepeatedUints_1_list)
 24272  		x.Nums = *clv.list
 24273  	default:
 24274  		if fd.IsExtension() {
 24275  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24276  		}
 24277  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", fd.FullName()))
 24278  	}
 24279  }
 24280  
 24281  // Mutable returns a mutable reference to a composite type.
 24282  //
 24283  // If the field is unpopulated, it may allocate a composite value.
 24284  // For a field belonging to a oneof, it implicitly clears any other field
 24285  // that may be currently set within the same oneof.
 24286  // For extension fields, it implicitly stores the provided ExtensionType
 24287  // if not already stored.
 24288  // It panics if the field does not contain a composite type.
 24289  //
 24290  // Mutable is a mutating operation and unsafe for concurrent use.
 24291  func (x *fastReflection_TestRepeatedUints) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 24292  	switch fd.FullName() {
 24293  	case "testpb.TestRepeatedUints.nums":
 24294  		if x.Nums == nil {
 24295  			x.Nums = []uint64{}
 24296  		}
 24297  		value := &_TestRepeatedUints_1_list{list: &x.Nums}
 24298  		return protoreflect.ValueOfList(value)
 24299  	default:
 24300  		if fd.IsExtension() {
 24301  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24302  		}
 24303  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", fd.FullName()))
 24304  	}
 24305  }
 24306  
 24307  // NewField returns a new value that is assignable to the field
 24308  // for the given descriptor. For scalars, this returns the default value.
 24309  // For lists, maps, and messages, this returns a new, empty, mutable value.
 24310  func (x *fastReflection_TestRepeatedUints) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 24311  	switch fd.FullName() {
 24312  	case "testpb.TestRepeatedUints.nums":
 24313  		list := []uint64{}
 24314  		return protoreflect.ValueOfList(&_TestRepeatedUints_1_list{list: &list})
 24315  	default:
 24316  		if fd.IsExtension() {
 24317  			panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.TestRepeatedUints"))
 24318  		}
 24319  		panic(fmt.Errorf("message testpb.TestRepeatedUints does not contain field %s", fd.FullName()))
 24320  	}
 24321  }
 24322  
 24323  // WhichOneof reports which field within the oneof is populated,
 24324  // returning nil if none are populated.
 24325  // It panics if the oneof descriptor does not belong to this message.
 24326  func (x *fastReflection_TestRepeatedUints) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 24327  	switch d.FullName() {
 24328  	default:
 24329  		panic(fmt.Errorf("%s is not a oneof field in testpb.TestRepeatedUints", d.FullName()))
 24330  	}
 24331  	panic("unreachable")
 24332  }
 24333  
 24334  // GetUnknown retrieves the entire list of unknown fields.
 24335  // The caller may only mutate the contents of the RawFields
 24336  // if the mutated bytes are stored back into the message with SetUnknown.
 24337  func (x *fastReflection_TestRepeatedUints) GetUnknown() protoreflect.RawFields {
 24338  	return x.unknownFields
 24339  }
 24340  
 24341  // SetUnknown stores an entire list of unknown fields.
 24342  // The raw fields must be syntactically valid according to the wire format.
 24343  // An implementation may panic if this is not the case.
 24344  // Once stored, the caller must not mutate the content of the RawFields.
 24345  // An empty RawFields may be passed to clear the fields.
 24346  //
 24347  // SetUnknown is a mutating operation and unsafe for concurrent use.
 24348  func (x *fastReflection_TestRepeatedUints) SetUnknown(fields protoreflect.RawFields) {
 24349  	x.unknownFields = fields
 24350  }
 24351  
 24352  // IsValid reports whether the message is valid.
 24353  //
 24354  // An invalid message is an empty, read-only value.
 24355  //
 24356  // An invalid message often corresponds to a nil pointer of the concrete
 24357  // message type, but the details are implementation dependent.
 24358  // Validity is not part of the protobuf data model, and may not
 24359  // be preserved in marshaling or other operations.
 24360  func (x *fastReflection_TestRepeatedUints) IsValid() bool {
 24361  	return x != nil
 24362  }
 24363  
 24364  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 24365  // This method may return nil.
 24366  //
 24367  // The returned methods type is identical to
 24368  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 24369  // Consult the protoiface package documentation for details.
 24370  func (x *fastReflection_TestRepeatedUints) ProtoMethods() *protoiface.Methods {
 24371  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 24372  		x := input.Message.Interface().(*TestRepeatedUints)
 24373  		if x == nil {
 24374  			return protoiface.SizeOutput{
 24375  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 24376  				Size:              0,
 24377  			}
 24378  		}
 24379  		options := runtime.SizeInputToOptions(input)
 24380  		_ = options
 24381  		var n int
 24382  		var l int
 24383  		_ = l
 24384  		if len(x.Nums) > 0 {
 24385  			l = 0
 24386  			for _, e := range x.Nums {
 24387  				l += runtime.Sov(uint64(e))
 24388  			}
 24389  			n += 1 + runtime.Sov(uint64(l)) + l
 24390  		}
 24391  		if x.unknownFields != nil {
 24392  			n += len(x.unknownFields)
 24393  		}
 24394  		return protoiface.SizeOutput{
 24395  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 24396  			Size:              n,
 24397  		}
 24398  	}
 24399  
 24400  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 24401  		x := input.Message.Interface().(*TestRepeatedUints)
 24402  		if x == nil {
 24403  			return protoiface.MarshalOutput{
 24404  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 24405  				Buf:               input.Buf,
 24406  			}, nil
 24407  		}
 24408  		options := runtime.MarshalInputToOptions(input)
 24409  		_ = options
 24410  		size := options.Size(x)
 24411  		dAtA := make([]byte, size)
 24412  		i := len(dAtA)
 24413  		_ = i
 24414  		var l int
 24415  		_ = l
 24416  		if x.unknownFields != nil {
 24417  			i -= len(x.unknownFields)
 24418  			copy(dAtA[i:], x.unknownFields)
 24419  		}
 24420  		if len(x.Nums) > 0 {
 24421  			var pksize2 int
 24422  			for _, num := range x.Nums {
 24423  				pksize2 += runtime.Sov(uint64(num))
 24424  			}
 24425  			i -= pksize2
 24426  			j1 := i
 24427  			for _, num := range x.Nums {
 24428  				for num >= 1<<7 {
 24429  					dAtA[j1] = uint8(uint64(num)&0x7f | 0x80)
 24430  					num >>= 7
 24431  					j1++
 24432  				}
 24433  				dAtA[j1] = uint8(num)
 24434  				j1++
 24435  			}
 24436  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize2))
 24437  			i--
 24438  			dAtA[i] = 0xa
 24439  		}
 24440  		if input.Buf != nil {
 24441  			input.Buf = append(input.Buf, dAtA...)
 24442  		} else {
 24443  			input.Buf = dAtA
 24444  		}
 24445  		return protoiface.MarshalOutput{
 24446  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 24447  			Buf:               input.Buf,
 24448  		}, nil
 24449  	}
 24450  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 24451  		x := input.Message.Interface().(*TestRepeatedUints)
 24452  		if x == nil {
 24453  			return protoiface.UnmarshalOutput{
 24454  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 24455  				Flags:             input.Flags,
 24456  			}, nil
 24457  		}
 24458  		options := runtime.UnmarshalInputToOptions(input)
 24459  		_ = options
 24460  		dAtA := input.Buf
 24461  		l := len(dAtA)
 24462  		iNdEx := 0
 24463  		for iNdEx < l {
 24464  			preIndex := iNdEx
 24465  			var wire uint64
 24466  			for shift := uint(0); ; shift += 7 {
 24467  				if shift >= 64 {
 24468  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 24469  				}
 24470  				if iNdEx >= l {
 24471  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24472  				}
 24473  				b := dAtA[iNdEx]
 24474  				iNdEx++
 24475  				wire |= uint64(b&0x7F) << shift
 24476  				if b < 0x80 {
 24477  					break
 24478  				}
 24479  			}
 24480  			fieldNum := int32(wire >> 3)
 24481  			wireType := int(wire & 0x7)
 24482  			if wireType == 4 {
 24483  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestRepeatedUints: wiretype end group for non-group")
 24484  			}
 24485  			if fieldNum <= 0 {
 24486  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestRepeatedUints: illegal tag %d (wire type %d)", fieldNum, wire)
 24487  			}
 24488  			switch fieldNum {
 24489  			case 1:
 24490  				if wireType == 0 {
 24491  					var v uint64
 24492  					for shift := uint(0); ; shift += 7 {
 24493  						if shift >= 64 {
 24494  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 24495  						}
 24496  						if iNdEx >= l {
 24497  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24498  						}
 24499  						b := dAtA[iNdEx]
 24500  						iNdEx++
 24501  						v |= uint64(b&0x7F) << shift
 24502  						if b < 0x80 {
 24503  							break
 24504  						}
 24505  					}
 24506  					x.Nums = append(x.Nums, v)
 24507  				} else if wireType == 2 {
 24508  					var packedLen int
 24509  					for shift := uint(0); ; shift += 7 {
 24510  						if shift >= 64 {
 24511  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 24512  						}
 24513  						if iNdEx >= l {
 24514  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24515  						}
 24516  						b := dAtA[iNdEx]
 24517  						iNdEx++
 24518  						packedLen |= int(b&0x7F) << shift
 24519  						if b < 0x80 {
 24520  							break
 24521  						}
 24522  					}
 24523  					if packedLen < 0 {
 24524  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24525  					}
 24526  					postIndex := iNdEx + packedLen
 24527  					if postIndex < 0 {
 24528  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24529  					}
 24530  					if postIndex > l {
 24531  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24532  					}
 24533  					var elementCount int
 24534  					var count int
 24535  					for _, integer := range dAtA[iNdEx:postIndex] {
 24536  						if integer < 128 {
 24537  							count++
 24538  						}
 24539  					}
 24540  					elementCount = count
 24541  					if elementCount != 0 && len(x.Nums) == 0 {
 24542  						x.Nums = make([]uint64, 0, elementCount)
 24543  					}
 24544  					for iNdEx < postIndex {
 24545  						var v uint64
 24546  						for shift := uint(0); ; shift += 7 {
 24547  							if shift >= 64 {
 24548  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 24549  							}
 24550  							if iNdEx >= l {
 24551  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24552  							}
 24553  							b := dAtA[iNdEx]
 24554  							iNdEx++
 24555  							v |= uint64(b&0x7F) << shift
 24556  							if b < 0x80 {
 24557  								break
 24558  							}
 24559  						}
 24560  						x.Nums = append(x.Nums, v)
 24561  					}
 24562  				} else {
 24563  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Nums", wireType)
 24564  				}
 24565  			default:
 24566  				iNdEx = preIndex
 24567  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 24568  				if err != nil {
 24569  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 24570  				}
 24571  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 24572  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 24573  				}
 24574  				if (iNdEx + skippy) > l {
 24575  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24576  				}
 24577  				if !options.DiscardUnknown {
 24578  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 24579  				}
 24580  				iNdEx += skippy
 24581  			}
 24582  		}
 24583  
 24584  		if iNdEx > l {
 24585  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 24586  		}
 24587  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 24588  	}
 24589  	return &protoiface.Methods{
 24590  		NoUnkeyedLiterals: struct{}{},
 24591  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 24592  		Size:              size,
 24593  		Marshal:           marshal,
 24594  		Unmarshal:         unmarshal,
 24595  		Merge:             nil,
 24596  		CheckInitialized:  nil,
 24597  	}
 24598  }
 24599  
 24600  // Code generated by protoc-gen-go. DO NOT EDIT.
 24601  // versions:
 24602  // 	protoc-gen-go v1.27.0
 24603  // 	protoc        (unknown)
 24604  // source: testpb/unknonwnproto.proto
 24605  
 24606  const (
 24607  	// Verify that this generated code is sufficiently up-to-date.
 24608  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 24609  	// Verify that runtime/protoimpl is sufficiently up-to-date.
 24610  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 24611  )
 24612  
 24613  type Customer2_City int32
 24614  
 24615  const (
 24616  	Customer2_Laos       Customer2_City = 0
 24617  	Customer2_LosAngeles Customer2_City = 1
 24618  	Customer2_PaloAlto   Customer2_City = 2
 24619  	Customer2_Moscow     Customer2_City = 3
 24620  	Customer2_Nairobi    Customer2_City = 4
 24621  )
 24622  
 24623  // Enum value maps for Customer2_City.
 24624  var (
 24625  	Customer2_City_name = map[int32]string{
 24626  		0: "Laos",
 24627  		1: "LosAngeles",
 24628  		2: "PaloAlto",
 24629  		3: "Moscow",
 24630  		4: "Nairobi",
 24631  	}
 24632  	Customer2_City_value = map[string]int32{
 24633  		"Laos":       0,
 24634  		"LosAngeles": 1,
 24635  		"PaloAlto":   2,
 24636  		"Moscow":     3,
 24637  		"Nairobi":    4,
 24638  	}
 24639  )
 24640  
 24641  func (x Customer2_City) Enum() *Customer2_City {
 24642  	p := new(Customer2_City)
 24643  	*p = x
 24644  	return p
 24645  }
 24646  
 24647  func (x Customer2_City) String() string {
 24648  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 24649  }
 24650  
 24651  func (Customer2_City) Descriptor() protoreflect.EnumDescriptor {
 24652  	return file_testpb_unknonwnproto_proto_enumTypes[0].Descriptor()
 24653  }
 24654  
 24655  func (Customer2_City) Type() protoreflect.EnumType {
 24656  	return &file_testpb_unknonwnproto_proto_enumTypes[0]
 24657  }
 24658  
 24659  func (x Customer2_City) Number() protoreflect.EnumNumber {
 24660  	return protoreflect.EnumNumber(x)
 24661  }
 24662  
 24663  // Deprecated: Use Customer2_City.Descriptor instead.
 24664  func (Customer2_City) EnumDescriptor() ([]byte, []int) {
 24665  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{1, 0}
 24666  }
 24667  
 24668  type Customer1 struct {
 24669  	state         protoimpl.MessageState
 24670  	sizeCache     protoimpl.SizeCache
 24671  	unknownFields protoimpl.UnknownFields
 24672  
 24673  	Id              int32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24674  	Name            string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 24675  	SubscriptionFee float32 `protobuf:"fixed32,3,opt,name=subscription_fee,json=subscriptionFee,proto3" json:"subscription_fee,omitempty"`
 24676  	Payment         string  `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"`
 24677  }
 24678  
 24679  func (x *Customer1) Reset() {
 24680  	*x = Customer1{}
 24681  	if protoimpl.UnsafeEnabled {
 24682  		mi := &file_testpb_unknonwnproto_proto_msgTypes[0]
 24683  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24684  		ms.StoreMessageInfo(mi)
 24685  	}
 24686  }
 24687  
 24688  func (x *Customer1) String() string {
 24689  	return protoimpl.X.MessageStringOf(x)
 24690  }
 24691  
 24692  func (*Customer1) ProtoMessage() {}
 24693  
 24694  // Deprecated: Use Customer1.ProtoReflect.Descriptor instead.
 24695  func (*Customer1) Descriptor() ([]byte, []int) {
 24696  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{0}
 24697  }
 24698  
 24699  func (x *Customer1) GetId() int32 {
 24700  	if x != nil {
 24701  		return x.Id
 24702  	}
 24703  	return 0
 24704  }
 24705  
 24706  func (x *Customer1) GetName() string {
 24707  	if x != nil {
 24708  		return x.Name
 24709  	}
 24710  	return ""
 24711  }
 24712  
 24713  func (x *Customer1) GetSubscriptionFee() float32 {
 24714  	if x != nil {
 24715  		return x.SubscriptionFee
 24716  	}
 24717  	return 0
 24718  }
 24719  
 24720  func (x *Customer1) GetPayment() string {
 24721  	if x != nil {
 24722  		return x.Payment
 24723  	}
 24724  	return ""
 24725  }
 24726  
 24727  type Customer2 struct {
 24728  	state         protoimpl.MessageState
 24729  	sizeCache     protoimpl.SizeCache
 24730  	unknownFields protoimpl.UnknownFields
 24731  
 24732  	Id            int32          `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24733  	Industry      int32          `protobuf:"varint,2,opt,name=industry,proto3" json:"industry,omitempty"`
 24734  	Name          string         `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 24735  	Fewer         float32        `protobuf:"fixed32,4,opt,name=fewer,proto3" json:"fewer,omitempty"`
 24736  	Reserved      int64          `protobuf:"varint,1047,opt,name=reserved,proto3" json:"reserved,omitempty"`
 24737  	City          Customer2_City `protobuf:"varint,6,opt,name=city,proto3,enum=testpb.Customer2_City" json:"city,omitempty"`
 24738  	Miscellaneous *anypb.Any     `protobuf:"bytes,10,opt,name=miscellaneous,proto3" json:"miscellaneous,omitempty"`
 24739  }
 24740  
 24741  func (x *Customer2) Reset() {
 24742  	*x = Customer2{}
 24743  	if protoimpl.UnsafeEnabled {
 24744  		mi := &file_testpb_unknonwnproto_proto_msgTypes[1]
 24745  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24746  		ms.StoreMessageInfo(mi)
 24747  	}
 24748  }
 24749  
 24750  func (x *Customer2) String() string {
 24751  	return protoimpl.X.MessageStringOf(x)
 24752  }
 24753  
 24754  func (*Customer2) ProtoMessage() {}
 24755  
 24756  // Deprecated: Use Customer2.ProtoReflect.Descriptor instead.
 24757  func (*Customer2) Descriptor() ([]byte, []int) {
 24758  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{1}
 24759  }
 24760  
 24761  func (x *Customer2) GetId() int32 {
 24762  	if x != nil {
 24763  		return x.Id
 24764  	}
 24765  	return 0
 24766  }
 24767  
 24768  func (x *Customer2) GetIndustry() int32 {
 24769  	if x != nil {
 24770  		return x.Industry
 24771  	}
 24772  	return 0
 24773  }
 24774  
 24775  func (x *Customer2) GetName() string {
 24776  	if x != nil {
 24777  		return x.Name
 24778  	}
 24779  	return ""
 24780  }
 24781  
 24782  func (x *Customer2) GetFewer() float32 {
 24783  	if x != nil {
 24784  		return x.Fewer
 24785  	}
 24786  	return 0
 24787  }
 24788  
 24789  func (x *Customer2) GetReserved() int64 {
 24790  	if x != nil {
 24791  		return x.Reserved
 24792  	}
 24793  	return 0
 24794  }
 24795  
 24796  func (x *Customer2) GetCity() Customer2_City {
 24797  	if x != nil {
 24798  		return x.City
 24799  	}
 24800  	return Customer2_Laos
 24801  }
 24802  
 24803  func (x *Customer2) GetMiscellaneous() *anypb.Any {
 24804  	if x != nil {
 24805  		return x.Miscellaneous
 24806  	}
 24807  	return nil
 24808  }
 24809  
 24810  type Nested4A struct {
 24811  	state         protoimpl.MessageState
 24812  	sizeCache     protoimpl.SizeCache
 24813  	unknownFields protoimpl.UnknownFields
 24814  
 24815  	Id   int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24816  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 24817  }
 24818  
 24819  func (x *Nested4A) Reset() {
 24820  	*x = Nested4A{}
 24821  	if protoimpl.UnsafeEnabled {
 24822  		mi := &file_testpb_unknonwnproto_proto_msgTypes[2]
 24823  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24824  		ms.StoreMessageInfo(mi)
 24825  	}
 24826  }
 24827  
 24828  func (x *Nested4A) String() string {
 24829  	return protoimpl.X.MessageStringOf(x)
 24830  }
 24831  
 24832  func (*Nested4A) ProtoMessage() {}
 24833  
 24834  // Deprecated: Use Nested4A.ProtoReflect.Descriptor instead.
 24835  func (*Nested4A) Descriptor() ([]byte, []int) {
 24836  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{2}
 24837  }
 24838  
 24839  func (x *Nested4A) GetId() int32 {
 24840  	if x != nil {
 24841  		return x.Id
 24842  	}
 24843  	return 0
 24844  }
 24845  
 24846  func (x *Nested4A) GetName() string {
 24847  	if x != nil {
 24848  		return x.Name
 24849  	}
 24850  	return ""
 24851  }
 24852  
 24853  type Nested3A struct {
 24854  	state         protoimpl.MessageState
 24855  	sizeCache     protoimpl.SizeCache
 24856  	unknownFields protoimpl.UnknownFields
 24857  
 24858  	Id    int32               `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24859  	Name  string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 24860  	A4    []*Nested4A         `protobuf:"bytes,4,rep,name=a4,proto3" json:"a4,omitempty"`
 24861  	Index map[int64]*Nested4A `protobuf:"bytes,5,rep,name=index,proto3" json:"index,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 24862  }
 24863  
 24864  func (x *Nested3A) Reset() {
 24865  	*x = Nested3A{}
 24866  	if protoimpl.UnsafeEnabled {
 24867  		mi := &file_testpb_unknonwnproto_proto_msgTypes[3]
 24868  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24869  		ms.StoreMessageInfo(mi)
 24870  	}
 24871  }
 24872  
 24873  func (x *Nested3A) String() string {
 24874  	return protoimpl.X.MessageStringOf(x)
 24875  }
 24876  
 24877  func (*Nested3A) ProtoMessage() {}
 24878  
 24879  // Deprecated: Use Nested3A.ProtoReflect.Descriptor instead.
 24880  func (*Nested3A) Descriptor() ([]byte, []int) {
 24881  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{3}
 24882  }
 24883  
 24884  func (x *Nested3A) GetId() int32 {
 24885  	if x != nil {
 24886  		return x.Id
 24887  	}
 24888  	return 0
 24889  }
 24890  
 24891  func (x *Nested3A) GetName() string {
 24892  	if x != nil {
 24893  		return x.Name
 24894  	}
 24895  	return ""
 24896  }
 24897  
 24898  func (x *Nested3A) GetA4() []*Nested4A {
 24899  	if x != nil {
 24900  		return x.A4
 24901  	}
 24902  	return nil
 24903  }
 24904  
 24905  func (x *Nested3A) GetIndex() map[int64]*Nested4A {
 24906  	if x != nil {
 24907  		return x.Index
 24908  	}
 24909  	return nil
 24910  }
 24911  
 24912  type Nested2A struct {
 24913  	state         protoimpl.MessageState
 24914  	sizeCache     protoimpl.SizeCache
 24915  	unknownFields protoimpl.UnknownFields
 24916  
 24917  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24918  	Name   string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 24919  	Nested *Nested3A `protobuf:"bytes,3,opt,name=nested,proto3" json:"nested,omitempty"`
 24920  }
 24921  
 24922  func (x *Nested2A) Reset() {
 24923  	*x = Nested2A{}
 24924  	if protoimpl.UnsafeEnabled {
 24925  		mi := &file_testpb_unknonwnproto_proto_msgTypes[4]
 24926  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24927  		ms.StoreMessageInfo(mi)
 24928  	}
 24929  }
 24930  
 24931  func (x *Nested2A) String() string {
 24932  	return protoimpl.X.MessageStringOf(x)
 24933  }
 24934  
 24935  func (*Nested2A) ProtoMessage() {}
 24936  
 24937  // Deprecated: Use Nested2A.ProtoReflect.Descriptor instead.
 24938  func (*Nested2A) Descriptor() ([]byte, []int) {
 24939  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{4}
 24940  }
 24941  
 24942  func (x *Nested2A) GetId() int32 {
 24943  	if x != nil {
 24944  		return x.Id
 24945  	}
 24946  	return 0
 24947  }
 24948  
 24949  func (x *Nested2A) GetName() string {
 24950  	if x != nil {
 24951  		return x.Name
 24952  	}
 24953  	return ""
 24954  }
 24955  
 24956  func (x *Nested2A) GetNested() *Nested3A {
 24957  	if x != nil {
 24958  		return x.Nested
 24959  	}
 24960  	return nil
 24961  }
 24962  
 24963  type Nested1A struct {
 24964  	state         protoimpl.MessageState
 24965  	sizeCache     protoimpl.SizeCache
 24966  	unknownFields protoimpl.UnknownFields
 24967  
 24968  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 24969  	Nested *Nested2A `protobuf:"bytes,2,opt,name=nested,proto3" json:"nested,omitempty"`
 24970  }
 24971  
 24972  func (x *Nested1A) Reset() {
 24973  	*x = Nested1A{}
 24974  	if protoimpl.UnsafeEnabled {
 24975  		mi := &file_testpb_unknonwnproto_proto_msgTypes[5]
 24976  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 24977  		ms.StoreMessageInfo(mi)
 24978  	}
 24979  }
 24980  
 24981  func (x *Nested1A) String() string {
 24982  	return protoimpl.X.MessageStringOf(x)
 24983  }
 24984  
 24985  func (*Nested1A) ProtoMessage() {}
 24986  
 24987  // Deprecated: Use Nested1A.ProtoReflect.Descriptor instead.
 24988  func (*Nested1A) Descriptor() ([]byte, []int) {
 24989  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{5}
 24990  }
 24991  
 24992  func (x *Nested1A) GetId() int32 {
 24993  	if x != nil {
 24994  		return x.Id
 24995  	}
 24996  	return 0
 24997  }
 24998  
 24999  func (x *Nested1A) GetNested() *Nested2A {
 25000  	if x != nil {
 25001  		return x.Nested
 25002  	}
 25003  	return nil
 25004  }
 25005  
 25006  type Nested4B struct {
 25007  	state         protoimpl.MessageState
 25008  	sizeCache     protoimpl.SizeCache
 25009  	unknownFields protoimpl.UnknownFields
 25010  
 25011  	Id   int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 25012  	Age  int32  `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
 25013  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 25014  }
 25015  
 25016  func (x *Nested4B) Reset() {
 25017  	*x = Nested4B{}
 25018  	if protoimpl.UnsafeEnabled {
 25019  		mi := &file_testpb_unknonwnproto_proto_msgTypes[6]
 25020  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25021  		ms.StoreMessageInfo(mi)
 25022  	}
 25023  }
 25024  
 25025  func (x *Nested4B) String() string {
 25026  	return protoimpl.X.MessageStringOf(x)
 25027  }
 25028  
 25029  func (*Nested4B) ProtoMessage() {}
 25030  
 25031  // Deprecated: Use Nested4B.ProtoReflect.Descriptor instead.
 25032  func (*Nested4B) Descriptor() ([]byte, []int) {
 25033  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{6}
 25034  }
 25035  
 25036  func (x *Nested4B) GetId() int32 {
 25037  	if x != nil {
 25038  		return x.Id
 25039  	}
 25040  	return 0
 25041  }
 25042  
 25043  func (x *Nested4B) GetAge() int32 {
 25044  	if x != nil {
 25045  		return x.Age
 25046  	}
 25047  	return 0
 25048  }
 25049  
 25050  func (x *Nested4B) GetName() string {
 25051  	if x != nil {
 25052  		return x.Name
 25053  	}
 25054  	return ""
 25055  }
 25056  
 25057  type Nested3B struct {
 25058  	state         protoimpl.MessageState
 25059  	sizeCache     protoimpl.SizeCache
 25060  	unknownFields protoimpl.UnknownFields
 25061  
 25062  	Id   int32       `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 25063  	Age  int32       `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
 25064  	Name string      `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 25065  	B4   []*Nested4B `protobuf:"bytes,4,rep,name=b4,proto3" json:"b4,omitempty"`
 25066  }
 25067  
 25068  func (x *Nested3B) Reset() {
 25069  	*x = Nested3B{}
 25070  	if protoimpl.UnsafeEnabled {
 25071  		mi := &file_testpb_unknonwnproto_proto_msgTypes[7]
 25072  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25073  		ms.StoreMessageInfo(mi)
 25074  	}
 25075  }
 25076  
 25077  func (x *Nested3B) String() string {
 25078  	return protoimpl.X.MessageStringOf(x)
 25079  }
 25080  
 25081  func (*Nested3B) ProtoMessage() {}
 25082  
 25083  // Deprecated: Use Nested3B.ProtoReflect.Descriptor instead.
 25084  func (*Nested3B) Descriptor() ([]byte, []int) {
 25085  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{7}
 25086  }
 25087  
 25088  func (x *Nested3B) GetId() int32 {
 25089  	if x != nil {
 25090  		return x.Id
 25091  	}
 25092  	return 0
 25093  }
 25094  
 25095  func (x *Nested3B) GetAge() int32 {
 25096  	if x != nil {
 25097  		return x.Age
 25098  	}
 25099  	return 0
 25100  }
 25101  
 25102  func (x *Nested3B) GetName() string {
 25103  	if x != nil {
 25104  		return x.Name
 25105  	}
 25106  	return ""
 25107  }
 25108  
 25109  func (x *Nested3B) GetB4() []*Nested4B {
 25110  	if x != nil {
 25111  		return x.B4
 25112  	}
 25113  	return nil
 25114  }
 25115  
 25116  type Nested2B struct {
 25117  	state         protoimpl.MessageState
 25118  	sizeCache     protoimpl.SizeCache
 25119  	unknownFields protoimpl.UnknownFields
 25120  
 25121  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 25122  	Fee    float64   `protobuf:"fixed64,2,opt,name=fee,proto3" json:"fee,omitempty"`
 25123  	Nested *Nested3B `protobuf:"bytes,3,opt,name=nested,proto3" json:"nested,omitempty"`
 25124  	Route  string    `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"`
 25125  }
 25126  
 25127  func (x *Nested2B) Reset() {
 25128  	*x = Nested2B{}
 25129  	if protoimpl.UnsafeEnabled {
 25130  		mi := &file_testpb_unknonwnproto_proto_msgTypes[8]
 25131  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25132  		ms.StoreMessageInfo(mi)
 25133  	}
 25134  }
 25135  
 25136  func (x *Nested2B) String() string {
 25137  	return protoimpl.X.MessageStringOf(x)
 25138  }
 25139  
 25140  func (*Nested2B) ProtoMessage() {}
 25141  
 25142  // Deprecated: Use Nested2B.ProtoReflect.Descriptor instead.
 25143  func (*Nested2B) Descriptor() ([]byte, []int) {
 25144  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{8}
 25145  }
 25146  
 25147  func (x *Nested2B) GetId() int32 {
 25148  	if x != nil {
 25149  		return x.Id
 25150  	}
 25151  	return 0
 25152  }
 25153  
 25154  func (x *Nested2B) GetFee() float64 {
 25155  	if x != nil {
 25156  		return x.Fee
 25157  	}
 25158  	return 0
 25159  }
 25160  
 25161  func (x *Nested2B) GetNested() *Nested3B {
 25162  	if x != nil {
 25163  		return x.Nested
 25164  	}
 25165  	return nil
 25166  }
 25167  
 25168  func (x *Nested2B) GetRoute() string {
 25169  	if x != nil {
 25170  		return x.Route
 25171  	}
 25172  	return ""
 25173  }
 25174  
 25175  type Nested1B struct {
 25176  	state         protoimpl.MessageState
 25177  	sizeCache     protoimpl.SizeCache
 25178  	unknownFields protoimpl.UnknownFields
 25179  
 25180  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 25181  	Nested *Nested2B `protobuf:"bytes,2,opt,name=nested,proto3" json:"nested,omitempty"`
 25182  	Age    int32     `protobuf:"varint,3,opt,name=age,proto3" json:"age,omitempty"`
 25183  }
 25184  
 25185  func (x *Nested1B) Reset() {
 25186  	*x = Nested1B{}
 25187  	if protoimpl.UnsafeEnabled {
 25188  		mi := &file_testpb_unknonwnproto_proto_msgTypes[9]
 25189  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25190  		ms.StoreMessageInfo(mi)
 25191  	}
 25192  }
 25193  
 25194  func (x *Nested1B) String() string {
 25195  	return protoimpl.X.MessageStringOf(x)
 25196  }
 25197  
 25198  func (*Nested1B) ProtoMessage() {}
 25199  
 25200  // Deprecated: Use Nested1B.ProtoReflect.Descriptor instead.
 25201  func (*Nested1B) Descriptor() ([]byte, []int) {
 25202  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{9}
 25203  }
 25204  
 25205  func (x *Nested1B) GetId() int32 {
 25206  	if x != nil {
 25207  		return x.Id
 25208  	}
 25209  	return 0
 25210  }
 25211  
 25212  func (x *Nested1B) GetNested() *Nested2B {
 25213  	if x != nil {
 25214  		return x.Nested
 25215  	}
 25216  	return nil
 25217  }
 25218  
 25219  func (x *Nested1B) GetAge() int32 {
 25220  	if x != nil {
 25221  		return x.Age
 25222  	}
 25223  	return 0
 25224  }
 25225  
 25226  type Customer3 struct {
 25227  	state         protoimpl.MessageState
 25228  	sizeCache     protoimpl.SizeCache
 25229  	unknownFields protoimpl.UnknownFields
 25230  
 25231  	Id          int32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 25232  	Name        string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 25233  	Sf          float32 `protobuf:"fixed32,3,opt,name=sf,proto3" json:"sf,omitempty"`
 25234  	Surcharge   float32 `protobuf:"fixed32,4,opt,name=surcharge,proto3" json:"surcharge,omitempty"`
 25235  	Destination string  `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"`
 25236  	// Types that are assignable to Payment:
 25237  	//
 25238  	//	*Customer3_CreditCardNo
 25239  	//	*Customer3_ChequeNo
 25240  	Payment  isCustomer3_Payment `protobuf_oneof:"payment"`
 25241  	Original *Customer1          `protobuf:"bytes,9,opt,name=original,proto3" json:"original,omitempty"`
 25242  }
 25243  
 25244  func (x *Customer3) Reset() {
 25245  	*x = Customer3{}
 25246  	if protoimpl.UnsafeEnabled {
 25247  		mi := &file_testpb_unknonwnproto_proto_msgTypes[10]
 25248  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25249  		ms.StoreMessageInfo(mi)
 25250  	}
 25251  }
 25252  
 25253  func (x *Customer3) String() string {
 25254  	return protoimpl.X.MessageStringOf(x)
 25255  }
 25256  
 25257  func (*Customer3) ProtoMessage() {}
 25258  
 25259  // Deprecated: Use Customer3.ProtoReflect.Descriptor instead.
 25260  func (*Customer3) Descriptor() ([]byte, []int) {
 25261  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{10}
 25262  }
 25263  
 25264  func (x *Customer3) GetId() int32 {
 25265  	if x != nil {
 25266  		return x.Id
 25267  	}
 25268  	return 0
 25269  }
 25270  
 25271  func (x *Customer3) GetName() string {
 25272  	if x != nil {
 25273  		return x.Name
 25274  	}
 25275  	return ""
 25276  }
 25277  
 25278  func (x *Customer3) GetSf() float32 {
 25279  	if x != nil {
 25280  		return x.Sf
 25281  	}
 25282  	return 0
 25283  }
 25284  
 25285  func (x *Customer3) GetSurcharge() float32 {
 25286  	if x != nil {
 25287  		return x.Surcharge
 25288  	}
 25289  	return 0
 25290  }
 25291  
 25292  func (x *Customer3) GetDestination() string {
 25293  	if x != nil {
 25294  		return x.Destination
 25295  	}
 25296  	return ""
 25297  }
 25298  
 25299  func (x *Customer3) GetPayment() isCustomer3_Payment {
 25300  	if x != nil {
 25301  		return x.Payment
 25302  	}
 25303  	return nil
 25304  }
 25305  
 25306  func (x *Customer3) GetCreditCardNo() string {
 25307  	if x, ok := x.GetPayment().(*Customer3_CreditCardNo); ok {
 25308  		return x.CreditCardNo
 25309  	}
 25310  	return ""
 25311  }
 25312  
 25313  func (x *Customer3) GetChequeNo() string {
 25314  	if x, ok := x.GetPayment().(*Customer3_ChequeNo); ok {
 25315  		return x.ChequeNo
 25316  	}
 25317  	return ""
 25318  }
 25319  
 25320  func (x *Customer3) GetOriginal() *Customer1 {
 25321  	if x != nil {
 25322  		return x.Original
 25323  	}
 25324  	return nil
 25325  }
 25326  
 25327  type isCustomer3_Payment interface {
 25328  	isCustomer3_Payment()
 25329  }
 25330  
 25331  type Customer3_CreditCardNo struct {
 25332  	CreditCardNo string `protobuf:"bytes,7,opt,name=credit_card_no,json=creditCardNo,proto3,oneof"`
 25333  }
 25334  
 25335  type Customer3_ChequeNo struct {
 25336  	ChequeNo string `protobuf:"bytes,8,opt,name=cheque_no,json=chequeNo,proto3,oneof"`
 25337  }
 25338  
 25339  func (*Customer3_CreditCardNo) isCustomer3_Payment() {}
 25340  
 25341  func (*Customer3_ChequeNo) isCustomer3_Payment() {}
 25342  
 25343  type TestVersion1 struct {
 25344  	state         protoimpl.MessageState
 25345  	sizeCache     protoimpl.SizeCache
 25346  	unknownFields protoimpl.UnknownFields
 25347  
 25348  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 25349  	A *TestVersion1   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 25350  	B *TestVersion1   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false] generates invalid recursive structs;
 25351  	C []*TestVersion1 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 25352  	D []*TestVersion1 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
 25353  	// Types that are assignable to Sum:
 25354  	//
 25355  	//	*TestVersion1_E
 25356  	//	*TestVersion1_F
 25357  	Sum isTestVersion1_Sum `protobuf_oneof:"sum"`
 25358  	G   *anypb.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 25359  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // [(gogoproto.castrepeated) = "TestVersion1"];
 25360  	// google.protobuf.Timestamp i = 10;
 25361  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 25362  	K *Customer1 `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 25363  }
 25364  
 25365  func (x *TestVersion1) Reset() {
 25366  	*x = TestVersion1{}
 25367  	if protoimpl.UnsafeEnabled {
 25368  		mi := &file_testpb_unknonwnproto_proto_msgTypes[11]
 25369  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25370  		ms.StoreMessageInfo(mi)
 25371  	}
 25372  }
 25373  
 25374  func (x *TestVersion1) String() string {
 25375  	return protoimpl.X.MessageStringOf(x)
 25376  }
 25377  
 25378  func (*TestVersion1) ProtoMessage() {}
 25379  
 25380  // Deprecated: Use TestVersion1.ProtoReflect.Descriptor instead.
 25381  func (*TestVersion1) Descriptor() ([]byte, []int) {
 25382  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{11}
 25383  }
 25384  
 25385  func (x *TestVersion1) GetX() int64 {
 25386  	if x != nil {
 25387  		return x.X
 25388  	}
 25389  	return 0
 25390  }
 25391  
 25392  func (x *TestVersion1) GetA() *TestVersion1 {
 25393  	if x != nil {
 25394  		return x.A
 25395  	}
 25396  	return nil
 25397  }
 25398  
 25399  func (x *TestVersion1) GetB() *TestVersion1 {
 25400  	if x != nil {
 25401  		return x.B
 25402  	}
 25403  	return nil
 25404  }
 25405  
 25406  func (x *TestVersion1) GetC() []*TestVersion1 {
 25407  	if x != nil {
 25408  		return x.C
 25409  	}
 25410  	return nil
 25411  }
 25412  
 25413  func (x *TestVersion1) GetD() []*TestVersion1 {
 25414  	if x != nil {
 25415  		return x.D
 25416  	}
 25417  	return nil
 25418  }
 25419  
 25420  func (x *TestVersion1) GetSum() isTestVersion1_Sum {
 25421  	if x != nil {
 25422  		return x.Sum
 25423  	}
 25424  	return nil
 25425  }
 25426  
 25427  func (x *TestVersion1) GetE() int32 {
 25428  	if x, ok := x.GetSum().(*TestVersion1_E); ok {
 25429  		return x.E
 25430  	}
 25431  	return 0
 25432  }
 25433  
 25434  func (x *TestVersion1) GetF() *TestVersion1 {
 25435  	if x, ok := x.GetSum().(*TestVersion1_F); ok {
 25436  		return x.F
 25437  	}
 25438  	return nil
 25439  }
 25440  
 25441  func (x *TestVersion1) GetG() *anypb.Any {
 25442  	if x != nil {
 25443  		return x.G
 25444  	}
 25445  	return nil
 25446  }
 25447  
 25448  func (x *TestVersion1) GetH() []*TestVersion1 {
 25449  	if x != nil {
 25450  		return x.H
 25451  	}
 25452  	return nil
 25453  }
 25454  
 25455  func (x *TestVersion1) GetK() *Customer1 {
 25456  	if x != nil {
 25457  		return x.K
 25458  	}
 25459  	return nil
 25460  }
 25461  
 25462  type isTestVersion1_Sum interface {
 25463  	isTestVersion1_Sum()
 25464  }
 25465  
 25466  type TestVersion1_E struct {
 25467  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 25468  }
 25469  
 25470  type TestVersion1_F struct {
 25471  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 25472  }
 25473  
 25474  func (*TestVersion1_E) isTestVersion1_Sum() {}
 25475  
 25476  func (*TestVersion1_F) isTestVersion1_Sum() {}
 25477  
 25478  type TestVersion2 struct {
 25479  	state         protoimpl.MessageState
 25480  	sizeCache     protoimpl.SizeCache
 25481  	unknownFields protoimpl.UnknownFields
 25482  
 25483  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 25484  	A *TestVersion2   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 25485  	B *TestVersion2   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false];
 25486  	C []*TestVersion2 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 25487  	D []*TestVersion2 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"` // [(gogoproto.nullable) = false];
 25488  	// Types that are assignable to Sum:
 25489  	//
 25490  	//	*TestVersion2_E
 25491  	//	*TestVersion2_F
 25492  	Sum isTestVersion2_Sum `protobuf_oneof:"sum"`
 25493  	G   *anypb.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 25494  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // [(gogoproto.castrepeated) = "TestVersion1"];
 25495  	// google.protobuf.Timestamp i = 10;
 25496  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 25497  	K         *Customer1 `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 25498  	NewField_ uint64     `protobuf:"varint,25,opt,name=new_field,json=newField,proto3" json:"new_field,omitempty"`
 25499  }
 25500  
 25501  func (x *TestVersion2) Reset() {
 25502  	*x = TestVersion2{}
 25503  	if protoimpl.UnsafeEnabled {
 25504  		mi := &file_testpb_unknonwnproto_proto_msgTypes[12]
 25505  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25506  		ms.StoreMessageInfo(mi)
 25507  	}
 25508  }
 25509  
 25510  func (x *TestVersion2) String() string {
 25511  	return protoimpl.X.MessageStringOf(x)
 25512  }
 25513  
 25514  func (*TestVersion2) ProtoMessage() {}
 25515  
 25516  // Deprecated: Use TestVersion2.ProtoReflect.Descriptor instead.
 25517  func (*TestVersion2) Descriptor() ([]byte, []int) {
 25518  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{12}
 25519  }
 25520  
 25521  func (x *TestVersion2) GetX() int64 {
 25522  	if x != nil {
 25523  		return x.X
 25524  	}
 25525  	return 0
 25526  }
 25527  
 25528  func (x *TestVersion2) GetA() *TestVersion2 {
 25529  	if x != nil {
 25530  		return x.A
 25531  	}
 25532  	return nil
 25533  }
 25534  
 25535  func (x *TestVersion2) GetB() *TestVersion2 {
 25536  	if x != nil {
 25537  		return x.B
 25538  	}
 25539  	return nil
 25540  }
 25541  
 25542  func (x *TestVersion2) GetC() []*TestVersion2 {
 25543  	if x != nil {
 25544  		return x.C
 25545  	}
 25546  	return nil
 25547  }
 25548  
 25549  func (x *TestVersion2) GetD() []*TestVersion2 {
 25550  	if x != nil {
 25551  		return x.D
 25552  	}
 25553  	return nil
 25554  }
 25555  
 25556  func (x *TestVersion2) GetSum() isTestVersion2_Sum {
 25557  	if x != nil {
 25558  		return x.Sum
 25559  	}
 25560  	return nil
 25561  }
 25562  
 25563  func (x *TestVersion2) GetE() int32 {
 25564  	if x, ok := x.GetSum().(*TestVersion2_E); ok {
 25565  		return x.E
 25566  	}
 25567  	return 0
 25568  }
 25569  
 25570  func (x *TestVersion2) GetF() *TestVersion2 {
 25571  	if x, ok := x.GetSum().(*TestVersion2_F); ok {
 25572  		return x.F
 25573  	}
 25574  	return nil
 25575  }
 25576  
 25577  func (x *TestVersion2) GetG() *anypb.Any {
 25578  	if x != nil {
 25579  		return x.G
 25580  	}
 25581  	return nil
 25582  }
 25583  
 25584  func (x *TestVersion2) GetH() []*TestVersion1 {
 25585  	if x != nil {
 25586  		return x.H
 25587  	}
 25588  	return nil
 25589  }
 25590  
 25591  func (x *TestVersion2) GetK() *Customer1 {
 25592  	if x != nil {
 25593  		return x.K
 25594  	}
 25595  	return nil
 25596  }
 25597  
 25598  func (x *TestVersion2) GetNewField_() uint64 {
 25599  	if x != nil {
 25600  		return x.NewField_
 25601  	}
 25602  	return 0
 25603  }
 25604  
 25605  type isTestVersion2_Sum interface {
 25606  	isTestVersion2_Sum()
 25607  }
 25608  
 25609  type TestVersion2_E struct {
 25610  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 25611  }
 25612  
 25613  type TestVersion2_F struct {
 25614  	F *TestVersion2 `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 25615  }
 25616  
 25617  func (*TestVersion2_E) isTestVersion2_Sum() {}
 25618  
 25619  func (*TestVersion2_F) isTestVersion2_Sum() {}
 25620  
 25621  type TestVersion3 struct {
 25622  	state         protoimpl.MessageState
 25623  	sizeCache     protoimpl.SizeCache
 25624  	unknownFields protoimpl.UnknownFields
 25625  
 25626  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 25627  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 25628  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false];
 25629  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 25630  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"` // [(gogoproto.nullable) = false];
 25631  	// Types that are assignable to Sum:
 25632  	//
 25633  	//	*TestVersion3_E
 25634  	//	*TestVersion3_F
 25635  	Sum isTestVersion3_Sum `protobuf_oneof:"sum"`
 25636  	G   *anypb.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 25637  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` //[(gogoproto.castrepeated) = "TestVersion1"];
 25638  	// google.protobuf.Timestamp i = 10;
 25639  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 25640  	K                *Customer1 `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 25641  	NonCriticalField string     `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
 25642  }
 25643  
 25644  func (x *TestVersion3) Reset() {
 25645  	*x = TestVersion3{}
 25646  	if protoimpl.UnsafeEnabled {
 25647  		mi := &file_testpb_unknonwnproto_proto_msgTypes[13]
 25648  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25649  		ms.StoreMessageInfo(mi)
 25650  	}
 25651  }
 25652  
 25653  func (x *TestVersion3) String() string {
 25654  	return protoimpl.X.MessageStringOf(x)
 25655  }
 25656  
 25657  func (*TestVersion3) ProtoMessage() {}
 25658  
 25659  // Deprecated: Use TestVersion3.ProtoReflect.Descriptor instead.
 25660  func (*TestVersion3) Descriptor() ([]byte, []int) {
 25661  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{13}
 25662  }
 25663  
 25664  func (x *TestVersion3) GetX() int64 {
 25665  	if x != nil {
 25666  		return x.X
 25667  	}
 25668  	return 0
 25669  }
 25670  
 25671  func (x *TestVersion3) GetA() *TestVersion3 {
 25672  	if x != nil {
 25673  		return x.A
 25674  	}
 25675  	return nil
 25676  }
 25677  
 25678  func (x *TestVersion3) GetB() *TestVersion3 {
 25679  	if x != nil {
 25680  		return x.B
 25681  	}
 25682  	return nil
 25683  }
 25684  
 25685  func (x *TestVersion3) GetC() []*TestVersion3 {
 25686  	if x != nil {
 25687  		return x.C
 25688  	}
 25689  	return nil
 25690  }
 25691  
 25692  func (x *TestVersion3) GetD() []*TestVersion3 {
 25693  	if x != nil {
 25694  		return x.D
 25695  	}
 25696  	return nil
 25697  }
 25698  
 25699  func (x *TestVersion3) GetSum() isTestVersion3_Sum {
 25700  	if x != nil {
 25701  		return x.Sum
 25702  	}
 25703  	return nil
 25704  }
 25705  
 25706  func (x *TestVersion3) GetE() int32 {
 25707  	if x, ok := x.GetSum().(*TestVersion3_E); ok {
 25708  		return x.E
 25709  	}
 25710  	return 0
 25711  }
 25712  
 25713  func (x *TestVersion3) GetF() *TestVersion3 {
 25714  	if x, ok := x.GetSum().(*TestVersion3_F); ok {
 25715  		return x.F
 25716  	}
 25717  	return nil
 25718  }
 25719  
 25720  func (x *TestVersion3) GetG() *anypb.Any {
 25721  	if x != nil {
 25722  		return x.G
 25723  	}
 25724  	return nil
 25725  }
 25726  
 25727  func (x *TestVersion3) GetH() []*TestVersion1 {
 25728  	if x != nil {
 25729  		return x.H
 25730  	}
 25731  	return nil
 25732  }
 25733  
 25734  func (x *TestVersion3) GetK() *Customer1 {
 25735  	if x != nil {
 25736  		return x.K
 25737  	}
 25738  	return nil
 25739  }
 25740  
 25741  func (x *TestVersion3) GetNonCriticalField() string {
 25742  	if x != nil {
 25743  		return x.NonCriticalField
 25744  	}
 25745  	return ""
 25746  }
 25747  
 25748  type isTestVersion3_Sum interface {
 25749  	isTestVersion3_Sum()
 25750  }
 25751  
 25752  type TestVersion3_E struct {
 25753  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 25754  }
 25755  
 25756  type TestVersion3_F struct {
 25757  	F *TestVersion3 `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 25758  }
 25759  
 25760  func (*TestVersion3_E) isTestVersion3_Sum() {}
 25761  
 25762  func (*TestVersion3_F) isTestVersion3_Sum() {}
 25763  
 25764  type TestVersion3LoneOneOfValue struct {
 25765  	state         protoimpl.MessageState
 25766  	sizeCache     protoimpl.SizeCache
 25767  	unknownFields protoimpl.UnknownFields
 25768  
 25769  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 25770  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 25771  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false];
 25772  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 25773  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"` // [(gogoproto.nullable) = false];
 25774  	// Types that are assignable to Sum:
 25775  	//
 25776  	//	*TestVersion3LoneOneOfValue_E
 25777  	Sum isTestVersion3LoneOneOfValue_Sum `protobuf_oneof:"sum"`
 25778  	G   *anypb.Any                       `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 25779  	H   []*TestVersion1                  `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` //[(gogoproto.castrepeated) = "TestVersion1"];
 25780  	// google.protobuf.Timestamp i = 10;
 25781  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 25782  	K                *Customer1 `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 25783  	NonCriticalField string     `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
 25784  }
 25785  
 25786  func (x *TestVersion3LoneOneOfValue) Reset() {
 25787  	*x = TestVersion3LoneOneOfValue{}
 25788  	if protoimpl.UnsafeEnabled {
 25789  		mi := &file_testpb_unknonwnproto_proto_msgTypes[14]
 25790  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25791  		ms.StoreMessageInfo(mi)
 25792  	}
 25793  }
 25794  
 25795  func (x *TestVersion3LoneOneOfValue) String() string {
 25796  	return protoimpl.X.MessageStringOf(x)
 25797  }
 25798  
 25799  func (*TestVersion3LoneOneOfValue) ProtoMessage() {}
 25800  
 25801  // Deprecated: Use TestVersion3LoneOneOfValue.ProtoReflect.Descriptor instead.
 25802  func (*TestVersion3LoneOneOfValue) Descriptor() ([]byte, []int) {
 25803  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{14}
 25804  }
 25805  
 25806  func (x *TestVersion3LoneOneOfValue) GetX() int64 {
 25807  	if x != nil {
 25808  		return x.X
 25809  	}
 25810  	return 0
 25811  }
 25812  
 25813  func (x *TestVersion3LoneOneOfValue) GetA() *TestVersion3 {
 25814  	if x != nil {
 25815  		return x.A
 25816  	}
 25817  	return nil
 25818  }
 25819  
 25820  func (x *TestVersion3LoneOneOfValue) GetB() *TestVersion3 {
 25821  	if x != nil {
 25822  		return x.B
 25823  	}
 25824  	return nil
 25825  }
 25826  
 25827  func (x *TestVersion3LoneOneOfValue) GetC() []*TestVersion3 {
 25828  	if x != nil {
 25829  		return x.C
 25830  	}
 25831  	return nil
 25832  }
 25833  
 25834  func (x *TestVersion3LoneOneOfValue) GetD() []*TestVersion3 {
 25835  	if x != nil {
 25836  		return x.D
 25837  	}
 25838  	return nil
 25839  }
 25840  
 25841  func (x *TestVersion3LoneOneOfValue) GetSum() isTestVersion3LoneOneOfValue_Sum {
 25842  	if x != nil {
 25843  		return x.Sum
 25844  	}
 25845  	return nil
 25846  }
 25847  
 25848  func (x *TestVersion3LoneOneOfValue) GetE() int32 {
 25849  	if x, ok := x.GetSum().(*TestVersion3LoneOneOfValue_E); ok {
 25850  		return x.E
 25851  	}
 25852  	return 0
 25853  }
 25854  
 25855  func (x *TestVersion3LoneOneOfValue) GetG() *anypb.Any {
 25856  	if x != nil {
 25857  		return x.G
 25858  	}
 25859  	return nil
 25860  }
 25861  
 25862  func (x *TestVersion3LoneOneOfValue) GetH() []*TestVersion1 {
 25863  	if x != nil {
 25864  		return x.H
 25865  	}
 25866  	return nil
 25867  }
 25868  
 25869  func (x *TestVersion3LoneOneOfValue) GetK() *Customer1 {
 25870  	if x != nil {
 25871  		return x.K
 25872  	}
 25873  	return nil
 25874  }
 25875  
 25876  func (x *TestVersion3LoneOneOfValue) GetNonCriticalField() string {
 25877  	if x != nil {
 25878  		return x.NonCriticalField
 25879  	}
 25880  	return ""
 25881  }
 25882  
 25883  type isTestVersion3LoneOneOfValue_Sum interface {
 25884  	isTestVersion3LoneOneOfValue_Sum()
 25885  }
 25886  
 25887  type TestVersion3LoneOneOfValue_E struct {
 25888  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 25889  }
 25890  
 25891  func (*TestVersion3LoneOneOfValue_E) isTestVersion3LoneOneOfValue_Sum() {}
 25892  
 25893  type TestVersion3LoneNesting struct {
 25894  	state         protoimpl.MessageState
 25895  	sizeCache     protoimpl.SizeCache
 25896  	unknownFields protoimpl.UnknownFields
 25897  
 25898  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 25899  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 25900  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false];
 25901  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 25902  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"` // [(gogoproto.nullable) = false];
 25903  	// Types that are assignable to Sum:
 25904  	//
 25905  	//	*TestVersion3LoneNesting_F
 25906  	Sum isTestVersion3LoneNesting_Sum `protobuf_oneof:"sum"`
 25907  	G   *anypb.Any                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 25908  	H   []*TestVersion1               `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` //[(gogoproto.castrepeated) = "TestVersion1"];
 25909  	// google.protobuf.Timestamp i = 10;
 25910  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 25911  	K                *Customer1                      `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 25912  	NonCriticalField string                          `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
 25913  	Inner1           *TestVersion3LoneNesting_Inner1 `protobuf:"bytes,14,opt,name=inner1,proto3" json:"inner1,omitempty"`
 25914  	Inner2           *TestVersion3LoneNesting_Inner2 `protobuf:"bytes,15,opt,name=inner2,proto3" json:"inner2,omitempty"`
 25915  }
 25916  
 25917  func (x *TestVersion3LoneNesting) Reset() {
 25918  	*x = TestVersion3LoneNesting{}
 25919  	if protoimpl.UnsafeEnabled {
 25920  		mi := &file_testpb_unknonwnproto_proto_msgTypes[15]
 25921  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 25922  		ms.StoreMessageInfo(mi)
 25923  	}
 25924  }
 25925  
 25926  func (x *TestVersion3LoneNesting) String() string {
 25927  	return protoimpl.X.MessageStringOf(x)
 25928  }
 25929  
 25930  func (*TestVersion3LoneNesting) ProtoMessage() {}
 25931  
 25932  // Deprecated: Use TestVersion3LoneNesting.ProtoReflect.Descriptor instead.
 25933  func (*TestVersion3LoneNesting) Descriptor() ([]byte, []int) {
 25934  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{15}
 25935  }
 25936  
 25937  func (x *TestVersion3LoneNesting) GetX() int64 {
 25938  	if x != nil {
 25939  		return x.X
 25940  	}
 25941  	return 0
 25942  }
 25943  
 25944  func (x *TestVersion3LoneNesting) GetA() *TestVersion3 {
 25945  	if x != nil {
 25946  		return x.A
 25947  	}
 25948  	return nil
 25949  }
 25950  
 25951  func (x *TestVersion3LoneNesting) GetB() *TestVersion3 {
 25952  	if x != nil {
 25953  		return x.B
 25954  	}
 25955  	return nil
 25956  }
 25957  
 25958  func (x *TestVersion3LoneNesting) GetC() []*TestVersion3 {
 25959  	if x != nil {
 25960  		return x.C
 25961  	}
 25962  	return nil
 25963  }
 25964  
 25965  func (x *TestVersion3LoneNesting) GetD() []*TestVersion3 {
 25966  	if x != nil {
 25967  		return x.D
 25968  	}
 25969  	return nil
 25970  }
 25971  
 25972  func (x *TestVersion3LoneNesting) GetSum() isTestVersion3LoneNesting_Sum {
 25973  	if x != nil {
 25974  		return x.Sum
 25975  	}
 25976  	return nil
 25977  }
 25978  
 25979  func (x *TestVersion3LoneNesting) GetF() *TestVersion3LoneNesting {
 25980  	if x, ok := x.GetSum().(*TestVersion3LoneNesting_F); ok {
 25981  		return x.F
 25982  	}
 25983  	return nil
 25984  }
 25985  
 25986  func (x *TestVersion3LoneNesting) GetG() *anypb.Any {
 25987  	if x != nil {
 25988  		return x.G
 25989  	}
 25990  	return nil
 25991  }
 25992  
 25993  func (x *TestVersion3LoneNesting) GetH() []*TestVersion1 {
 25994  	if x != nil {
 25995  		return x.H
 25996  	}
 25997  	return nil
 25998  }
 25999  
 26000  func (x *TestVersion3LoneNesting) GetK() *Customer1 {
 26001  	if x != nil {
 26002  		return x.K
 26003  	}
 26004  	return nil
 26005  }
 26006  
 26007  func (x *TestVersion3LoneNesting) GetNonCriticalField() string {
 26008  	if x != nil {
 26009  		return x.NonCriticalField
 26010  	}
 26011  	return ""
 26012  }
 26013  
 26014  func (x *TestVersion3LoneNesting) GetInner1() *TestVersion3LoneNesting_Inner1 {
 26015  	if x != nil {
 26016  		return x.Inner1
 26017  	}
 26018  	return nil
 26019  }
 26020  
 26021  func (x *TestVersion3LoneNesting) GetInner2() *TestVersion3LoneNesting_Inner2 {
 26022  	if x != nil {
 26023  		return x.Inner2
 26024  	}
 26025  	return nil
 26026  }
 26027  
 26028  type isTestVersion3LoneNesting_Sum interface {
 26029  	isTestVersion3LoneNesting_Sum()
 26030  }
 26031  
 26032  type TestVersion3LoneNesting_F struct {
 26033  	F *TestVersion3LoneNesting `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 26034  }
 26035  
 26036  func (*TestVersion3LoneNesting_F) isTestVersion3LoneNesting_Sum() {}
 26037  
 26038  type TestVersion4LoneNesting struct {
 26039  	state         protoimpl.MessageState
 26040  	sizeCache     protoimpl.SizeCache
 26041  	unknownFields protoimpl.UnknownFields
 26042  
 26043  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 26044  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 26045  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"` // [(gogoproto.nullable) = false];
 26046  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
 26047  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"` // [(gogoproto.nullable) = false];
 26048  	// Types that are assignable to Sum:
 26049  	//
 26050  	//	*TestVersion4LoneNesting_F
 26051  	Sum isTestVersion4LoneNesting_Sum `protobuf_oneof:"sum"`
 26052  	G   *anypb.Any                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 26053  	H   []*TestVersion1               `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` //[(gogoproto.castrepeated) = "TestVersion1"];
 26054  	// google.protobuf.Timestamp i = 10;
 26055  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
 26056  	K                *Customer1                      `protobuf:"bytes,12,opt,name=k,proto3" json:"k,omitempty"`
 26057  	NonCriticalField string                          `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
 26058  	Inner1           *TestVersion4LoneNesting_Inner1 `protobuf:"bytes,14,opt,name=inner1,proto3" json:"inner1,omitempty"`
 26059  	Inner2           *TestVersion4LoneNesting_Inner2 `protobuf:"bytes,15,opt,name=inner2,proto3" json:"inner2,omitempty"`
 26060  }
 26061  
 26062  func (x *TestVersion4LoneNesting) Reset() {
 26063  	*x = TestVersion4LoneNesting{}
 26064  	if protoimpl.UnsafeEnabled {
 26065  		mi := &file_testpb_unknonwnproto_proto_msgTypes[16]
 26066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26067  		ms.StoreMessageInfo(mi)
 26068  	}
 26069  }
 26070  
 26071  func (x *TestVersion4LoneNesting) String() string {
 26072  	return protoimpl.X.MessageStringOf(x)
 26073  }
 26074  
 26075  func (*TestVersion4LoneNesting) ProtoMessage() {}
 26076  
 26077  // Deprecated: Use TestVersion4LoneNesting.ProtoReflect.Descriptor instead.
 26078  func (*TestVersion4LoneNesting) Descriptor() ([]byte, []int) {
 26079  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{16}
 26080  }
 26081  
 26082  func (x *TestVersion4LoneNesting) GetX() int64 {
 26083  	if x != nil {
 26084  		return x.X
 26085  	}
 26086  	return 0
 26087  }
 26088  
 26089  func (x *TestVersion4LoneNesting) GetA() *TestVersion3 {
 26090  	if x != nil {
 26091  		return x.A
 26092  	}
 26093  	return nil
 26094  }
 26095  
 26096  func (x *TestVersion4LoneNesting) GetB() *TestVersion3 {
 26097  	if x != nil {
 26098  		return x.B
 26099  	}
 26100  	return nil
 26101  }
 26102  
 26103  func (x *TestVersion4LoneNesting) GetC() []*TestVersion3 {
 26104  	if x != nil {
 26105  		return x.C
 26106  	}
 26107  	return nil
 26108  }
 26109  
 26110  func (x *TestVersion4LoneNesting) GetD() []*TestVersion3 {
 26111  	if x != nil {
 26112  		return x.D
 26113  	}
 26114  	return nil
 26115  }
 26116  
 26117  func (x *TestVersion4LoneNesting) GetSum() isTestVersion4LoneNesting_Sum {
 26118  	if x != nil {
 26119  		return x.Sum
 26120  	}
 26121  	return nil
 26122  }
 26123  
 26124  func (x *TestVersion4LoneNesting) GetF() *TestVersion3LoneNesting {
 26125  	if x, ok := x.GetSum().(*TestVersion4LoneNesting_F); ok {
 26126  		return x.F
 26127  	}
 26128  	return nil
 26129  }
 26130  
 26131  func (x *TestVersion4LoneNesting) GetG() *anypb.Any {
 26132  	if x != nil {
 26133  		return x.G
 26134  	}
 26135  	return nil
 26136  }
 26137  
 26138  func (x *TestVersion4LoneNesting) GetH() []*TestVersion1 {
 26139  	if x != nil {
 26140  		return x.H
 26141  	}
 26142  	return nil
 26143  }
 26144  
 26145  func (x *TestVersion4LoneNesting) GetK() *Customer1 {
 26146  	if x != nil {
 26147  		return x.K
 26148  	}
 26149  	return nil
 26150  }
 26151  
 26152  func (x *TestVersion4LoneNesting) GetNonCriticalField() string {
 26153  	if x != nil {
 26154  		return x.NonCriticalField
 26155  	}
 26156  	return ""
 26157  }
 26158  
 26159  func (x *TestVersion4LoneNesting) GetInner1() *TestVersion4LoneNesting_Inner1 {
 26160  	if x != nil {
 26161  		return x.Inner1
 26162  	}
 26163  	return nil
 26164  }
 26165  
 26166  func (x *TestVersion4LoneNesting) GetInner2() *TestVersion4LoneNesting_Inner2 {
 26167  	if x != nil {
 26168  		return x.Inner2
 26169  	}
 26170  	return nil
 26171  }
 26172  
 26173  type isTestVersion4LoneNesting_Sum interface {
 26174  	isTestVersion4LoneNesting_Sum()
 26175  }
 26176  
 26177  type TestVersion4LoneNesting_F struct {
 26178  	F *TestVersion3LoneNesting `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 26179  }
 26180  
 26181  func (*TestVersion4LoneNesting_F) isTestVersion4LoneNesting_Sum() {}
 26182  
 26183  type TestVersionFD1 struct {
 26184  	state         protoimpl.MessageState
 26185  	sizeCache     protoimpl.SizeCache
 26186  	unknownFields protoimpl.UnknownFields
 26187  
 26188  	X int64         `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 26189  	A *TestVersion1 `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 26190  	// Types that are assignable to Sum:
 26191  	//
 26192  	//	*TestVersionFD1_E
 26193  	//	*TestVersionFD1_F
 26194  	Sum isTestVersionFD1_Sum `protobuf_oneof:"sum"`
 26195  	G   *anypb.Any           `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 26196  	H   []*TestVersion1      `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // [(gogoproto.castrepeated) = "TestVersion1"];
 26197  }
 26198  
 26199  func (x *TestVersionFD1) Reset() {
 26200  	*x = TestVersionFD1{}
 26201  	if protoimpl.UnsafeEnabled {
 26202  		mi := &file_testpb_unknonwnproto_proto_msgTypes[17]
 26203  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26204  		ms.StoreMessageInfo(mi)
 26205  	}
 26206  }
 26207  
 26208  func (x *TestVersionFD1) String() string {
 26209  	return protoimpl.X.MessageStringOf(x)
 26210  }
 26211  
 26212  func (*TestVersionFD1) ProtoMessage() {}
 26213  
 26214  // Deprecated: Use TestVersionFD1.ProtoReflect.Descriptor instead.
 26215  func (*TestVersionFD1) Descriptor() ([]byte, []int) {
 26216  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{17}
 26217  }
 26218  
 26219  func (x *TestVersionFD1) GetX() int64 {
 26220  	if x != nil {
 26221  		return x.X
 26222  	}
 26223  	return 0
 26224  }
 26225  
 26226  func (x *TestVersionFD1) GetA() *TestVersion1 {
 26227  	if x != nil {
 26228  		return x.A
 26229  	}
 26230  	return nil
 26231  }
 26232  
 26233  func (x *TestVersionFD1) GetSum() isTestVersionFD1_Sum {
 26234  	if x != nil {
 26235  		return x.Sum
 26236  	}
 26237  	return nil
 26238  }
 26239  
 26240  func (x *TestVersionFD1) GetE() int32 {
 26241  	if x, ok := x.GetSum().(*TestVersionFD1_E); ok {
 26242  		return x.E
 26243  	}
 26244  	return 0
 26245  }
 26246  
 26247  func (x *TestVersionFD1) GetF() *TestVersion1 {
 26248  	if x, ok := x.GetSum().(*TestVersionFD1_F); ok {
 26249  		return x.F
 26250  	}
 26251  	return nil
 26252  }
 26253  
 26254  func (x *TestVersionFD1) GetG() *anypb.Any {
 26255  	if x != nil {
 26256  		return x.G
 26257  	}
 26258  	return nil
 26259  }
 26260  
 26261  func (x *TestVersionFD1) GetH() []*TestVersion1 {
 26262  	if x != nil {
 26263  		return x.H
 26264  	}
 26265  	return nil
 26266  }
 26267  
 26268  type isTestVersionFD1_Sum interface {
 26269  	isTestVersionFD1_Sum()
 26270  }
 26271  
 26272  type TestVersionFD1_E struct {
 26273  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 26274  }
 26275  
 26276  type TestVersionFD1_F struct {
 26277  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 26278  }
 26279  
 26280  func (*TestVersionFD1_E) isTestVersionFD1_Sum() {}
 26281  
 26282  func (*TestVersionFD1_F) isTestVersionFD1_Sum() {}
 26283  
 26284  type TestVersionFD1WithExtraAny struct {
 26285  	state         protoimpl.MessageState
 26286  	sizeCache     protoimpl.SizeCache
 26287  	unknownFields protoimpl.UnknownFields
 26288  
 26289  	X int64         `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
 26290  	A *TestVersion1 `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
 26291  	// Types that are assignable to Sum:
 26292  	//
 26293  	//	*TestVersionFD1WithExtraAny_E
 26294  	//	*TestVersionFD1WithExtraAny_F
 26295  	Sum isTestVersionFD1WithExtraAny_Sum `protobuf_oneof:"sum"`
 26296  	G   *AnyWithExtra                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
 26297  	H   []*TestVersion1                  `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // [(gogoproto.castrepeated) = "TestVersion1"];
 26298  }
 26299  
 26300  func (x *TestVersionFD1WithExtraAny) Reset() {
 26301  	*x = TestVersionFD1WithExtraAny{}
 26302  	if protoimpl.UnsafeEnabled {
 26303  		mi := &file_testpb_unknonwnproto_proto_msgTypes[18]
 26304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26305  		ms.StoreMessageInfo(mi)
 26306  	}
 26307  }
 26308  
 26309  func (x *TestVersionFD1WithExtraAny) String() string {
 26310  	return protoimpl.X.MessageStringOf(x)
 26311  }
 26312  
 26313  func (*TestVersionFD1WithExtraAny) ProtoMessage() {}
 26314  
 26315  // Deprecated: Use TestVersionFD1WithExtraAny.ProtoReflect.Descriptor instead.
 26316  func (*TestVersionFD1WithExtraAny) Descriptor() ([]byte, []int) {
 26317  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{18}
 26318  }
 26319  
 26320  func (x *TestVersionFD1WithExtraAny) GetX() int64 {
 26321  	if x != nil {
 26322  		return x.X
 26323  	}
 26324  	return 0
 26325  }
 26326  
 26327  func (x *TestVersionFD1WithExtraAny) GetA() *TestVersion1 {
 26328  	if x != nil {
 26329  		return x.A
 26330  	}
 26331  	return nil
 26332  }
 26333  
 26334  func (x *TestVersionFD1WithExtraAny) GetSum() isTestVersionFD1WithExtraAny_Sum {
 26335  	if x != nil {
 26336  		return x.Sum
 26337  	}
 26338  	return nil
 26339  }
 26340  
 26341  func (x *TestVersionFD1WithExtraAny) GetE() int32 {
 26342  	if x, ok := x.GetSum().(*TestVersionFD1WithExtraAny_E); ok {
 26343  		return x.E
 26344  	}
 26345  	return 0
 26346  }
 26347  
 26348  func (x *TestVersionFD1WithExtraAny) GetF() *TestVersion1 {
 26349  	if x, ok := x.GetSum().(*TestVersionFD1WithExtraAny_F); ok {
 26350  		return x.F
 26351  	}
 26352  	return nil
 26353  }
 26354  
 26355  func (x *TestVersionFD1WithExtraAny) GetG() *AnyWithExtra {
 26356  	if x != nil {
 26357  		return x.G
 26358  	}
 26359  	return nil
 26360  }
 26361  
 26362  func (x *TestVersionFD1WithExtraAny) GetH() []*TestVersion1 {
 26363  	if x != nil {
 26364  		return x.H
 26365  	}
 26366  	return nil
 26367  }
 26368  
 26369  type isTestVersionFD1WithExtraAny_Sum interface {
 26370  	isTestVersionFD1WithExtraAny_Sum()
 26371  }
 26372  
 26373  type TestVersionFD1WithExtraAny_E struct {
 26374  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof"`
 26375  }
 26376  
 26377  type TestVersionFD1WithExtraAny_F struct {
 26378  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof"`
 26379  }
 26380  
 26381  func (*TestVersionFD1WithExtraAny_E) isTestVersionFD1WithExtraAny_Sum() {}
 26382  
 26383  func (*TestVersionFD1WithExtraAny_F) isTestVersionFD1WithExtraAny_Sum() {}
 26384  
 26385  type AnyWithExtra struct {
 26386  	state         protoimpl.MessageState
 26387  	sizeCache     protoimpl.SizeCache
 26388  	unknownFields protoimpl.UnknownFields
 26389  
 26390  	A *anypb.Any `protobuf:"bytes,1,opt,name=a,proto3" json:"a,omitempty"`
 26391  	B int64      `protobuf:"varint,3,opt,name=b,proto3" json:"b,omitempty"`
 26392  	C int64      `protobuf:"varint,4,opt,name=c,proto3" json:"c,omitempty"`
 26393  }
 26394  
 26395  func (x *AnyWithExtra) Reset() {
 26396  	*x = AnyWithExtra{}
 26397  	if protoimpl.UnsafeEnabled {
 26398  		mi := &file_testpb_unknonwnproto_proto_msgTypes[19]
 26399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26400  		ms.StoreMessageInfo(mi)
 26401  	}
 26402  }
 26403  
 26404  func (x *AnyWithExtra) String() string {
 26405  	return protoimpl.X.MessageStringOf(x)
 26406  }
 26407  
 26408  func (*AnyWithExtra) ProtoMessage() {}
 26409  
 26410  // Deprecated: Use AnyWithExtra.ProtoReflect.Descriptor instead.
 26411  func (*AnyWithExtra) Descriptor() ([]byte, []int) {
 26412  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{19}
 26413  }
 26414  
 26415  func (x *AnyWithExtra) GetA() *anypb.Any {
 26416  	if x != nil {
 26417  		return x.A
 26418  	}
 26419  	return nil
 26420  }
 26421  
 26422  func (x *AnyWithExtra) GetB() int64 {
 26423  	if x != nil {
 26424  		return x.B
 26425  	}
 26426  	return 0
 26427  }
 26428  
 26429  func (x *AnyWithExtra) GetC() int64 {
 26430  	if x != nil {
 26431  		return x.C
 26432  	}
 26433  	return 0
 26434  }
 26435  
 26436  type TestUpdatedTxRaw struct {
 26437  	state         protoimpl.MessageState
 26438  	sizeCache     protoimpl.SizeCache
 26439  	unknownFields protoimpl.UnknownFields
 26440  
 26441  	BodyBytes     []byte   `protobuf:"bytes,1,opt,name=body_bytes,json=bodyBytes,proto3" json:"body_bytes,omitempty"`
 26442  	AuthInfoBytes []byte   `protobuf:"bytes,2,opt,name=auth_info_bytes,json=authInfoBytes,proto3" json:"auth_info_bytes,omitempty"`
 26443  	Signatures    [][]byte `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"`
 26444  	NewField_5    []byte   `protobuf:"bytes,5,opt,name=new_field_5,json=newField5,proto3" json:"new_field_5,omitempty"`
 26445  	NewField_1024 []byte   `protobuf:"bytes,1024,opt,name=new_field_1024,json=newField1024,proto3" json:"new_field_1024,omitempty"`
 26446  }
 26447  
 26448  func (x *TestUpdatedTxRaw) Reset() {
 26449  	*x = TestUpdatedTxRaw{}
 26450  	if protoimpl.UnsafeEnabled {
 26451  		mi := &file_testpb_unknonwnproto_proto_msgTypes[20]
 26452  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26453  		ms.StoreMessageInfo(mi)
 26454  	}
 26455  }
 26456  
 26457  func (x *TestUpdatedTxRaw) String() string {
 26458  	return protoimpl.X.MessageStringOf(x)
 26459  }
 26460  
 26461  func (*TestUpdatedTxRaw) ProtoMessage() {}
 26462  
 26463  // Deprecated: Use TestUpdatedTxRaw.ProtoReflect.Descriptor instead.
 26464  func (*TestUpdatedTxRaw) Descriptor() ([]byte, []int) {
 26465  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{20}
 26466  }
 26467  
 26468  func (x *TestUpdatedTxRaw) GetBodyBytes() []byte {
 26469  	if x != nil {
 26470  		return x.BodyBytes
 26471  	}
 26472  	return nil
 26473  }
 26474  
 26475  func (x *TestUpdatedTxRaw) GetAuthInfoBytes() []byte {
 26476  	if x != nil {
 26477  		return x.AuthInfoBytes
 26478  	}
 26479  	return nil
 26480  }
 26481  
 26482  func (x *TestUpdatedTxRaw) GetSignatures() [][]byte {
 26483  	if x != nil {
 26484  		return x.Signatures
 26485  	}
 26486  	return nil
 26487  }
 26488  
 26489  func (x *TestUpdatedTxRaw) GetNewField_5() []byte {
 26490  	if x != nil {
 26491  		return x.NewField_5
 26492  	}
 26493  	return nil
 26494  }
 26495  
 26496  func (x *TestUpdatedTxRaw) GetNewField_1024() []byte {
 26497  	if x != nil {
 26498  		return x.NewField_1024
 26499  	}
 26500  	return nil
 26501  }
 26502  
 26503  type TestUpdatedTxBody struct {
 26504  	state         protoimpl.MessageState
 26505  	sizeCache     protoimpl.SizeCache
 26506  	unknownFields protoimpl.UnknownFields
 26507  
 26508  	Messages                     []*anypb.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
 26509  	Memo                         string       `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"`
 26510  	TimeoutHeight                int64        `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"`
 26511  	SomeNewField                 uint64       `protobuf:"varint,4,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"`
 26512  	SomeNewFieldNonCriticalField string       `protobuf:"bytes,1050,opt,name=some_new_field_non_critical_field,json=someNewFieldNonCriticalField,proto3" json:"some_new_field_non_critical_field,omitempty"`
 26513  	ExtensionOptions             []*anypb.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"`
 26514  	NonCriticalExtensionOptions  []*anypb.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"`
 26515  }
 26516  
 26517  func (x *TestUpdatedTxBody) Reset() {
 26518  	*x = TestUpdatedTxBody{}
 26519  	if protoimpl.UnsafeEnabled {
 26520  		mi := &file_testpb_unknonwnproto_proto_msgTypes[21]
 26521  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26522  		ms.StoreMessageInfo(mi)
 26523  	}
 26524  }
 26525  
 26526  func (x *TestUpdatedTxBody) String() string {
 26527  	return protoimpl.X.MessageStringOf(x)
 26528  }
 26529  
 26530  func (*TestUpdatedTxBody) ProtoMessage() {}
 26531  
 26532  // Deprecated: Use TestUpdatedTxBody.ProtoReflect.Descriptor instead.
 26533  func (*TestUpdatedTxBody) Descriptor() ([]byte, []int) {
 26534  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{21}
 26535  }
 26536  
 26537  func (x *TestUpdatedTxBody) GetMessages() []*anypb.Any {
 26538  	if x != nil {
 26539  		return x.Messages
 26540  	}
 26541  	return nil
 26542  }
 26543  
 26544  func (x *TestUpdatedTxBody) GetMemo() string {
 26545  	if x != nil {
 26546  		return x.Memo
 26547  	}
 26548  	return ""
 26549  }
 26550  
 26551  func (x *TestUpdatedTxBody) GetTimeoutHeight() int64 {
 26552  	if x != nil {
 26553  		return x.TimeoutHeight
 26554  	}
 26555  	return 0
 26556  }
 26557  
 26558  func (x *TestUpdatedTxBody) GetSomeNewField() uint64 {
 26559  	if x != nil {
 26560  		return x.SomeNewField
 26561  	}
 26562  	return 0
 26563  }
 26564  
 26565  func (x *TestUpdatedTxBody) GetSomeNewFieldNonCriticalField() string {
 26566  	if x != nil {
 26567  		return x.SomeNewFieldNonCriticalField
 26568  	}
 26569  	return ""
 26570  }
 26571  
 26572  func (x *TestUpdatedTxBody) GetExtensionOptions() []*anypb.Any {
 26573  	if x != nil {
 26574  		return x.ExtensionOptions
 26575  	}
 26576  	return nil
 26577  }
 26578  
 26579  func (x *TestUpdatedTxBody) GetNonCriticalExtensionOptions() []*anypb.Any {
 26580  	if x != nil {
 26581  		return x.NonCriticalExtensionOptions
 26582  	}
 26583  	return nil
 26584  }
 26585  
 26586  type TestUpdatedAuthInfo struct {
 26587  	state         protoimpl.MessageState
 26588  	sizeCache     protoimpl.SizeCache
 26589  	unknownFields protoimpl.UnknownFields
 26590  
 26591  	SignerInfos   []*v1beta1.SignerInfo `protobuf:"bytes,1,rep,name=signer_infos,json=signerInfos,proto3" json:"signer_infos,omitempty"`
 26592  	Fee           *v1beta1.Fee          `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"`
 26593  	NewField_3    []byte                `protobuf:"bytes,3,opt,name=new_field_3,json=newField3,proto3" json:"new_field_3,omitempty"`
 26594  	NewField_1024 []byte                `protobuf:"bytes,1024,opt,name=new_field_1024,json=newField1024,proto3" json:"new_field_1024,omitempty"`
 26595  }
 26596  
 26597  func (x *TestUpdatedAuthInfo) Reset() {
 26598  	*x = TestUpdatedAuthInfo{}
 26599  	if protoimpl.UnsafeEnabled {
 26600  		mi := &file_testpb_unknonwnproto_proto_msgTypes[22]
 26601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26602  		ms.StoreMessageInfo(mi)
 26603  	}
 26604  }
 26605  
 26606  func (x *TestUpdatedAuthInfo) String() string {
 26607  	return protoimpl.X.MessageStringOf(x)
 26608  }
 26609  
 26610  func (*TestUpdatedAuthInfo) ProtoMessage() {}
 26611  
 26612  // Deprecated: Use TestUpdatedAuthInfo.ProtoReflect.Descriptor instead.
 26613  func (*TestUpdatedAuthInfo) Descriptor() ([]byte, []int) {
 26614  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{22}
 26615  }
 26616  
 26617  func (x *TestUpdatedAuthInfo) GetSignerInfos() []*v1beta1.SignerInfo {
 26618  	if x != nil {
 26619  		return x.SignerInfos
 26620  	}
 26621  	return nil
 26622  }
 26623  
 26624  func (x *TestUpdatedAuthInfo) GetFee() *v1beta1.Fee {
 26625  	if x != nil {
 26626  		return x.Fee
 26627  	}
 26628  	return nil
 26629  }
 26630  
 26631  func (x *TestUpdatedAuthInfo) GetNewField_3() []byte {
 26632  	if x != nil {
 26633  		return x.NewField_3
 26634  	}
 26635  	return nil
 26636  }
 26637  
 26638  func (x *TestUpdatedAuthInfo) GetNewField_1024() []byte {
 26639  	if x != nil {
 26640  		return x.NewField_1024
 26641  	}
 26642  	return nil
 26643  }
 26644  
 26645  type TestRepeatedUints struct {
 26646  	state         protoimpl.MessageState
 26647  	sizeCache     protoimpl.SizeCache
 26648  	unknownFields protoimpl.UnknownFields
 26649  
 26650  	Nums []uint64 `protobuf:"varint,1,rep,packed,name=nums,proto3" json:"nums,omitempty"`
 26651  }
 26652  
 26653  func (x *TestRepeatedUints) Reset() {
 26654  	*x = TestRepeatedUints{}
 26655  	if protoimpl.UnsafeEnabled {
 26656  		mi := &file_testpb_unknonwnproto_proto_msgTypes[23]
 26657  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26658  		ms.StoreMessageInfo(mi)
 26659  	}
 26660  }
 26661  
 26662  func (x *TestRepeatedUints) String() string {
 26663  	return protoimpl.X.MessageStringOf(x)
 26664  }
 26665  
 26666  func (*TestRepeatedUints) ProtoMessage() {}
 26667  
 26668  // Deprecated: Use TestRepeatedUints.ProtoReflect.Descriptor instead.
 26669  func (*TestRepeatedUints) Descriptor() ([]byte, []int) {
 26670  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{23}
 26671  }
 26672  
 26673  func (x *TestRepeatedUints) GetNums() []uint64 {
 26674  	if x != nil {
 26675  		return x.Nums
 26676  	}
 26677  	return nil
 26678  }
 26679  
 26680  type TestVersion3LoneNesting_Inner1 struct {
 26681  	state         protoimpl.MessageState
 26682  	sizeCache     protoimpl.SizeCache
 26683  	unknownFields protoimpl.UnknownFields
 26684  
 26685  	Id    int64                                      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 26686  	Name  string                                     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 26687  	Inner *TestVersion3LoneNesting_Inner1_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
 26688  }
 26689  
 26690  func (x *TestVersion3LoneNesting_Inner1) Reset() {
 26691  	*x = TestVersion3LoneNesting_Inner1{}
 26692  	if protoimpl.UnsafeEnabled {
 26693  		mi := &file_testpb_unknonwnproto_proto_msgTypes[25]
 26694  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26695  		ms.StoreMessageInfo(mi)
 26696  	}
 26697  }
 26698  
 26699  func (x *TestVersion3LoneNesting_Inner1) String() string {
 26700  	return protoimpl.X.MessageStringOf(x)
 26701  }
 26702  
 26703  func (*TestVersion3LoneNesting_Inner1) ProtoMessage() {}
 26704  
 26705  // Deprecated: Use TestVersion3LoneNesting_Inner1.ProtoReflect.Descriptor instead.
 26706  func (*TestVersion3LoneNesting_Inner1) Descriptor() ([]byte, []int) {
 26707  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{15, 0}
 26708  }
 26709  
 26710  func (x *TestVersion3LoneNesting_Inner1) GetId() int64 {
 26711  	if x != nil {
 26712  		return x.Id
 26713  	}
 26714  	return 0
 26715  }
 26716  
 26717  func (x *TestVersion3LoneNesting_Inner1) GetName() string {
 26718  	if x != nil {
 26719  		return x.Name
 26720  	}
 26721  	return ""
 26722  }
 26723  
 26724  func (x *TestVersion3LoneNesting_Inner1) GetInner() *TestVersion3LoneNesting_Inner1_InnerInner {
 26725  	if x != nil {
 26726  		return x.Inner
 26727  	}
 26728  	return nil
 26729  }
 26730  
 26731  type TestVersion3LoneNesting_Inner2 struct {
 26732  	state         protoimpl.MessageState
 26733  	sizeCache     protoimpl.SizeCache
 26734  	unknownFields protoimpl.UnknownFields
 26735  
 26736  	Id      string                                     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 26737  	Country string                                     `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
 26738  	Inner   *TestVersion3LoneNesting_Inner2_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
 26739  }
 26740  
 26741  func (x *TestVersion3LoneNesting_Inner2) Reset() {
 26742  	*x = TestVersion3LoneNesting_Inner2{}
 26743  	if protoimpl.UnsafeEnabled {
 26744  		mi := &file_testpb_unknonwnproto_proto_msgTypes[26]
 26745  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26746  		ms.StoreMessageInfo(mi)
 26747  	}
 26748  }
 26749  
 26750  func (x *TestVersion3LoneNesting_Inner2) String() string {
 26751  	return protoimpl.X.MessageStringOf(x)
 26752  }
 26753  
 26754  func (*TestVersion3LoneNesting_Inner2) ProtoMessage() {}
 26755  
 26756  // Deprecated: Use TestVersion3LoneNesting_Inner2.ProtoReflect.Descriptor instead.
 26757  func (*TestVersion3LoneNesting_Inner2) Descriptor() ([]byte, []int) {
 26758  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{15, 1}
 26759  }
 26760  
 26761  func (x *TestVersion3LoneNesting_Inner2) GetId() string {
 26762  	if x != nil {
 26763  		return x.Id
 26764  	}
 26765  	return ""
 26766  }
 26767  
 26768  func (x *TestVersion3LoneNesting_Inner2) GetCountry() string {
 26769  	if x != nil {
 26770  		return x.Country
 26771  	}
 26772  	return ""
 26773  }
 26774  
 26775  func (x *TestVersion3LoneNesting_Inner2) GetInner() *TestVersion3LoneNesting_Inner2_InnerInner {
 26776  	if x != nil {
 26777  		return x.Inner
 26778  	}
 26779  	return nil
 26780  }
 26781  
 26782  type TestVersion3LoneNesting_Inner1_InnerInner struct {
 26783  	state         protoimpl.MessageState
 26784  	sizeCache     protoimpl.SizeCache
 26785  	unknownFields protoimpl.UnknownFields
 26786  
 26787  	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 26788  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
 26789  }
 26790  
 26791  func (x *TestVersion3LoneNesting_Inner1_InnerInner) Reset() {
 26792  	*x = TestVersion3LoneNesting_Inner1_InnerInner{}
 26793  	if protoimpl.UnsafeEnabled {
 26794  		mi := &file_testpb_unknonwnproto_proto_msgTypes[27]
 26795  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26796  		ms.StoreMessageInfo(mi)
 26797  	}
 26798  }
 26799  
 26800  func (x *TestVersion3LoneNesting_Inner1_InnerInner) String() string {
 26801  	return protoimpl.X.MessageStringOf(x)
 26802  }
 26803  
 26804  func (*TestVersion3LoneNesting_Inner1_InnerInner) ProtoMessage() {}
 26805  
 26806  // Deprecated: Use TestVersion3LoneNesting_Inner1_InnerInner.ProtoReflect.Descriptor instead.
 26807  func (*TestVersion3LoneNesting_Inner1_InnerInner) Descriptor() ([]byte, []int) {
 26808  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{15, 0, 0}
 26809  }
 26810  
 26811  func (x *TestVersion3LoneNesting_Inner1_InnerInner) GetId() string {
 26812  	if x != nil {
 26813  		return x.Id
 26814  	}
 26815  	return ""
 26816  }
 26817  
 26818  func (x *TestVersion3LoneNesting_Inner1_InnerInner) GetCity() string {
 26819  	if x != nil {
 26820  		return x.City
 26821  	}
 26822  	return ""
 26823  }
 26824  
 26825  type TestVersion3LoneNesting_Inner2_InnerInner struct {
 26826  	state         protoimpl.MessageState
 26827  	sizeCache     protoimpl.SizeCache
 26828  	unknownFields protoimpl.UnknownFields
 26829  
 26830  	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 26831  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
 26832  }
 26833  
 26834  func (x *TestVersion3LoneNesting_Inner2_InnerInner) Reset() {
 26835  	*x = TestVersion3LoneNesting_Inner2_InnerInner{}
 26836  	if protoimpl.UnsafeEnabled {
 26837  		mi := &file_testpb_unknonwnproto_proto_msgTypes[28]
 26838  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26839  		ms.StoreMessageInfo(mi)
 26840  	}
 26841  }
 26842  
 26843  func (x *TestVersion3LoneNesting_Inner2_InnerInner) String() string {
 26844  	return protoimpl.X.MessageStringOf(x)
 26845  }
 26846  
 26847  func (*TestVersion3LoneNesting_Inner2_InnerInner) ProtoMessage() {}
 26848  
 26849  // Deprecated: Use TestVersion3LoneNesting_Inner2_InnerInner.ProtoReflect.Descriptor instead.
 26850  func (*TestVersion3LoneNesting_Inner2_InnerInner) Descriptor() ([]byte, []int) {
 26851  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{15, 1, 0}
 26852  }
 26853  
 26854  func (x *TestVersion3LoneNesting_Inner2_InnerInner) GetId() string {
 26855  	if x != nil {
 26856  		return x.Id
 26857  	}
 26858  	return ""
 26859  }
 26860  
 26861  func (x *TestVersion3LoneNesting_Inner2_InnerInner) GetCity() string {
 26862  	if x != nil {
 26863  		return x.City
 26864  	}
 26865  	return ""
 26866  }
 26867  
 26868  type TestVersion4LoneNesting_Inner1 struct {
 26869  	state         protoimpl.MessageState
 26870  	sizeCache     protoimpl.SizeCache
 26871  	unknownFields protoimpl.UnknownFields
 26872  
 26873  	Id    int64                                      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 26874  	Name  string                                     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 26875  	Inner *TestVersion4LoneNesting_Inner1_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
 26876  }
 26877  
 26878  func (x *TestVersion4LoneNesting_Inner1) Reset() {
 26879  	*x = TestVersion4LoneNesting_Inner1{}
 26880  	if protoimpl.UnsafeEnabled {
 26881  		mi := &file_testpb_unknonwnproto_proto_msgTypes[29]
 26882  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26883  		ms.StoreMessageInfo(mi)
 26884  	}
 26885  }
 26886  
 26887  func (x *TestVersion4LoneNesting_Inner1) String() string {
 26888  	return protoimpl.X.MessageStringOf(x)
 26889  }
 26890  
 26891  func (*TestVersion4LoneNesting_Inner1) ProtoMessage() {}
 26892  
 26893  // Deprecated: Use TestVersion4LoneNesting_Inner1.ProtoReflect.Descriptor instead.
 26894  func (*TestVersion4LoneNesting_Inner1) Descriptor() ([]byte, []int) {
 26895  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{16, 0}
 26896  }
 26897  
 26898  func (x *TestVersion4LoneNesting_Inner1) GetId() int64 {
 26899  	if x != nil {
 26900  		return x.Id
 26901  	}
 26902  	return 0
 26903  }
 26904  
 26905  func (x *TestVersion4LoneNesting_Inner1) GetName() string {
 26906  	if x != nil {
 26907  		return x.Name
 26908  	}
 26909  	return ""
 26910  }
 26911  
 26912  func (x *TestVersion4LoneNesting_Inner1) GetInner() *TestVersion4LoneNesting_Inner1_InnerInner {
 26913  	if x != nil {
 26914  		return x.Inner
 26915  	}
 26916  	return nil
 26917  }
 26918  
 26919  type TestVersion4LoneNesting_Inner2 struct {
 26920  	state         protoimpl.MessageState
 26921  	sizeCache     protoimpl.SizeCache
 26922  	unknownFields protoimpl.UnknownFields
 26923  
 26924  	Id      string                                     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 26925  	Country string                                     `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
 26926  	Inner   *TestVersion4LoneNesting_Inner2_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
 26927  }
 26928  
 26929  func (x *TestVersion4LoneNesting_Inner2) Reset() {
 26930  	*x = TestVersion4LoneNesting_Inner2{}
 26931  	if protoimpl.UnsafeEnabled {
 26932  		mi := &file_testpb_unknonwnproto_proto_msgTypes[30]
 26933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26934  		ms.StoreMessageInfo(mi)
 26935  	}
 26936  }
 26937  
 26938  func (x *TestVersion4LoneNesting_Inner2) String() string {
 26939  	return protoimpl.X.MessageStringOf(x)
 26940  }
 26941  
 26942  func (*TestVersion4LoneNesting_Inner2) ProtoMessage() {}
 26943  
 26944  // Deprecated: Use TestVersion4LoneNesting_Inner2.ProtoReflect.Descriptor instead.
 26945  func (*TestVersion4LoneNesting_Inner2) Descriptor() ([]byte, []int) {
 26946  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{16, 1}
 26947  }
 26948  
 26949  func (x *TestVersion4LoneNesting_Inner2) GetId() string {
 26950  	if x != nil {
 26951  		return x.Id
 26952  	}
 26953  	return ""
 26954  }
 26955  
 26956  func (x *TestVersion4LoneNesting_Inner2) GetCountry() string {
 26957  	if x != nil {
 26958  		return x.Country
 26959  	}
 26960  	return ""
 26961  }
 26962  
 26963  func (x *TestVersion4LoneNesting_Inner2) GetInner() *TestVersion4LoneNesting_Inner2_InnerInner {
 26964  	if x != nil {
 26965  		return x.Inner
 26966  	}
 26967  	return nil
 26968  }
 26969  
 26970  type TestVersion4LoneNesting_Inner1_InnerInner struct {
 26971  	state         protoimpl.MessageState
 26972  	sizeCache     protoimpl.SizeCache
 26973  	unknownFields protoimpl.UnknownFields
 26974  
 26975  	Id   int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 26976  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
 26977  }
 26978  
 26979  func (x *TestVersion4LoneNesting_Inner1_InnerInner) Reset() {
 26980  	*x = TestVersion4LoneNesting_Inner1_InnerInner{}
 26981  	if protoimpl.UnsafeEnabled {
 26982  		mi := &file_testpb_unknonwnproto_proto_msgTypes[31]
 26983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 26984  		ms.StoreMessageInfo(mi)
 26985  	}
 26986  }
 26987  
 26988  func (x *TestVersion4LoneNesting_Inner1_InnerInner) String() string {
 26989  	return protoimpl.X.MessageStringOf(x)
 26990  }
 26991  
 26992  func (*TestVersion4LoneNesting_Inner1_InnerInner) ProtoMessage() {}
 26993  
 26994  // Deprecated: Use TestVersion4LoneNesting_Inner1_InnerInner.ProtoReflect.Descriptor instead.
 26995  func (*TestVersion4LoneNesting_Inner1_InnerInner) Descriptor() ([]byte, []int) {
 26996  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{16, 0, 0}
 26997  }
 26998  
 26999  func (x *TestVersion4LoneNesting_Inner1_InnerInner) GetId() int64 {
 27000  	if x != nil {
 27001  		return x.Id
 27002  	}
 27003  	return 0
 27004  }
 27005  
 27006  func (x *TestVersion4LoneNesting_Inner1_InnerInner) GetCity() string {
 27007  	if x != nil {
 27008  		return x.City
 27009  	}
 27010  	return ""
 27011  }
 27012  
 27013  type TestVersion4LoneNesting_Inner2_InnerInner struct {
 27014  	state         protoimpl.MessageState
 27015  	sizeCache     protoimpl.SizeCache
 27016  	unknownFields protoimpl.UnknownFields
 27017  
 27018  	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 27019  	Value int64  `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
 27020  }
 27021  
 27022  func (x *TestVersion4LoneNesting_Inner2_InnerInner) Reset() {
 27023  	*x = TestVersion4LoneNesting_Inner2_InnerInner{}
 27024  	if protoimpl.UnsafeEnabled {
 27025  		mi := &file_testpb_unknonwnproto_proto_msgTypes[32]
 27026  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 27027  		ms.StoreMessageInfo(mi)
 27028  	}
 27029  }
 27030  
 27031  func (x *TestVersion4LoneNesting_Inner2_InnerInner) String() string {
 27032  	return protoimpl.X.MessageStringOf(x)
 27033  }
 27034  
 27035  func (*TestVersion4LoneNesting_Inner2_InnerInner) ProtoMessage() {}
 27036  
 27037  // Deprecated: Use TestVersion4LoneNesting_Inner2_InnerInner.ProtoReflect.Descriptor instead.
 27038  func (*TestVersion4LoneNesting_Inner2_InnerInner) Descriptor() ([]byte, []int) {
 27039  	return file_testpb_unknonwnproto_proto_rawDescGZIP(), []int{16, 1, 0}
 27040  }
 27041  
 27042  func (x *TestVersion4LoneNesting_Inner2_InnerInner) GetId() string {
 27043  	if x != nil {
 27044  		return x.Id
 27045  	}
 27046  	return ""
 27047  }
 27048  
 27049  func (x *TestVersion4LoneNesting_Inner2_InnerInner) GetValue() int64 {
 27050  	if x != nil {
 27051  		return x.Value
 27052  	}
 27053  	return 0
 27054  }
 27055  
 27056  var File_testpb_unknonwnproto_proto protoreflect.FileDescriptor
 27057  
 27058  var file_testpb_unknonwnproto_proto_rawDesc = []byte{
 27059  	0x0a, 0x1a, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x6e, 0x77,
 27060  	0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x74, 0x65,
 27061  	0x73, 0x74, 0x70, 0x62, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
 27062  	0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
 27063  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e,
 27064  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78,
 27065  	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 27066  	0x6f, 0x22, 0x74, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31, 0x12, 0x0e,
 27067  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
 27068  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
 27069  	0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
 27070  	0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x75,
 27071  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x18, 0x0a,
 27072  	0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
 27073  	0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74,
 27074  	0x6f, 0x6d, 0x65, 0x72, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 27075  	0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72,
 27076  	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72,
 27077  	0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
 27078  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x65, 0x77, 0x65, 0x72, 0x18, 0x04,
 27079  	0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x65, 0x77, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x08, 0x72,
 27080  	0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x97, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
 27081  	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79,
 27082  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
 27083  	0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x32, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x04,
 27084  	0x63, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x61,
 27085  	0x6e, 0x65, 0x6f, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
 27086  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
 27087  	0x79, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73,
 27088  	0x22, 0x47, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x61, 0x6f, 0x73,
 27089  	0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x6f, 0x73, 0x41, 0x6e, 0x67, 0x65, 0x6c, 0x65, 0x73,
 27090  	0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x61, 0x6c, 0x6f, 0x41, 0x6c, 0x74, 0x6f, 0x10, 0x02,
 27091  	0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x6f, 0x73, 0x63, 0x6f, 0x77, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07,
 27092  	0x4e, 0x61, 0x69, 0x72, 0x6f, 0x62, 0x69, 0x10, 0x04, 0x22, 0x2e, 0x0a, 0x08, 0x4e, 0x65, 0x73,
 27093  	0x74, 0x65, 0x64, 0x34, 0x41, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 27094  	0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
 27095  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x08, 0x4e, 0x65,
 27096  	0x73, 0x74, 0x65, 0x64, 0x33, 0x41, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
 27097  	0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
 27098  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x02, 0x61, 0x34,
 27099  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
 27100  	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x34, 0x41, 0x52, 0x02, 0x61, 0x34, 0x12, 0x31, 0x0a, 0x05,
 27101  	0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x65,
 27102  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x33, 0x41, 0x2e, 0x49, 0x6e,
 27103  	0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a,
 27104  	0x4a, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 27105  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 27106  	0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
 27107  	0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x34, 0x41,
 27108  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x08, 0x4e,
 27109  	0x65, 0x73, 0x74, 0x65, 0x64, 0x32, 0x41, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
 27110  	0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
 27111  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x6e,
 27112  	0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65,
 27113  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x33, 0x41, 0x52, 0x06, 0x6e,
 27114  	0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x44, 0x0a, 0x08, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x31,
 27115  	0x41, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69,
 27116  	0x64, 0x12, 0x28, 0x0a, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
 27117  	0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
 27118  	0x64, 0x32, 0x41, 0x52, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x08, 0x4e,
 27119  	0x65, 0x73, 0x74, 0x65, 0x64, 0x34, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
 27120  	0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x02,
 27121  	0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
 27122  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a,
 27123  	0x08, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x33, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
 27124  	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65,
 27125  	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
 27126  	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
 27127  	0x20, 0x0a, 0x02, 0x62, 0x34, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65,
 27128  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x34, 0x42, 0x52, 0x02, 0x62,
 27129  	0x34, 0x22, 0x6c, 0x0a, 0x08, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x32, 0x42, 0x12, 0x0e, 0x0a,
 27130  	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a,
 27131  	0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12,
 27132  	0x28, 0x0a, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
 27133  	0x10, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x33,
 27134  	0x42, 0x52, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75,
 27135  	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22,
 27136  	0x56, 0x0a, 0x08, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x31, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69,
 27137  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x6e,
 27138  	0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65,
 27139  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x32, 0x42, 0x52, 0x06, 0x6e,
 27140  	0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01,
 27141  	0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x74,
 27142  	0x6f, 0x6d, 0x65, 0x72, 0x33, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 27143  	0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
 27144  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x66, 0x18,
 27145  	0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x73, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x72,
 27146  	0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x75,
 27147  	0x72, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69,
 27148  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
 27149  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x72, 0x65,
 27150  	0x64, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28,
 27151  	0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4e,
 27152  	0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x71, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x18, 0x08,
 27153  	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x65, 0x71, 0x75, 0x65, 0x4e, 0x6f,
 27154  	0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01,
 27155  	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x73, 0x74,
 27156  	0x6f, 0x6d, 0x65, 0x72, 0x31, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x42,
 27157  	0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x0c, 0x54,
 27158  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x0c, 0x0a, 0x01, 0x78,
 27159  	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18, 0x02,
 27160  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65,
 27161  	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x61, 0x12, 0x22, 0x0a,
 27162  	0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
 27163  	0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01,
 27164  	0x62, 0x12, 0x22, 0x0a, 0x01, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74,
 27165  	0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
 27166  	0x6e, 0x31, 0x52, 0x01, 0x63, 0x12, 0x28, 0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
 27167  	0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
 27168  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x01, 0x64, 0x12,
 27169  	0x0e, 0x0a, 0x01, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x01, 0x65, 0x12,
 27170  	0x24, 0x0a, 0x01, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73,
 27171  	0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31,
 27172  	0x48, 0x00, 0x52, 0x01, 0x66, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
 27173  	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 27174  	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01, 0x68, 0x18, 0x09,
 27175  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65,
 27176  	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68, 0x12, 0x25, 0x0a,
 27177  	0x01, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
 27178  	0x62, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31, 0x42, 0x04, 0xd0, 0xde, 0x1f,
 27179  	0x01, 0x52, 0x01, 0x6b, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x0c,
 27180  	0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x12, 0x0c, 0x0a, 0x01,
 27181  	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18,
 27182  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27183  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x52, 0x01, 0x61, 0x12, 0x22,
 27184  	0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74,
 27185  	0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x52,
 27186  	0x01, 0x62, 0x12, 0x22, 0x0a, 0x01, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
 27187  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
 27188  	0x6f, 0x6e, 0x32, 0x52, 0x01, 0x63, 0x12, 0x22, 0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28,
 27189  	0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56,
 27190  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x52, 0x01, 0x64, 0x12, 0x0e, 0x0a, 0x01, 0x65, 0x18,
 27191  	0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x01, 0x65, 0x12, 0x24, 0x0a, 0x01, 0x66, 0x18,
 27192  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27193  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x48, 0x00, 0x52, 0x01, 0x66,
 27194  	0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
 27195  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
 27196  	0x79, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01, 0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
 27197  	0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
 27198  	0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68, 0x12, 0x25, 0x0a, 0x01, 0x6b, 0x18, 0x0c, 0x20,
 27199  	0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x73,
 27200  	0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31, 0x42, 0x04, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x01, 0x6b, 0x12,
 27201  	0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x19, 0x20, 0x01,
 27202  	0x28, 0x04, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x05, 0x0a, 0x03,
 27203  	0x73, 0x75, 0x6d, 0x22, 0x87, 0x03, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73,
 27204  	0x69, 0x6f, 0x6e, 0x33, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 27205  	0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
 27206  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
 27207  	0x6f, 0x6e, 0x33, 0x52, 0x01, 0x61, 0x12, 0x22, 0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28,
 27208  	0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56,
 27209  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x62, 0x12, 0x22, 0x0a, 0x01, 0x63, 0x18,
 27210  	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27211  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x63, 0x12, 0x22,
 27212  	0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74,
 27213  	0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52,
 27214  	0x01, 0x64, 0x12, 0x0e, 0x0a, 0x01, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
 27215  	0x01, 0x65, 0x12, 0x24, 0x0a, 0x01, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
 27216  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
 27217  	0x6f, 0x6e, 0x33, 0x48, 0x00, 0x52, 0x01, 0x66, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20,
 27218  	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
 27219  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01,
 27220  	0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62,
 27221  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68,
 27222  	0x12, 0x25, 0x0a, 0x01, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65,
 27223  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31, 0x42, 0x04,
 27224  	0xd0, 0xde, 0x1f, 0x01, 0x52, 0x01, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x63,
 27225  	0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x87, 0x08,
 27226  	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61,
 27227  	0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0xef, 0x02,
 27228  	0x0a, 0x1a, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f,
 27229  	0x6e, 0x65, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0c, 0x0a, 0x01,
 27230  	0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18,
 27231  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27232  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x61, 0x12, 0x22,
 27233  	0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74,
 27234  	0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52,
 27235  	0x01, 0x62, 0x12, 0x22, 0x0a, 0x01, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
 27236  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
 27237  	0x6f, 0x6e, 0x33, 0x52, 0x01, 0x63, 0x12, 0x22, 0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28,
 27238  	0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56,
 27239  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x64, 0x12, 0x0e, 0x0a, 0x01, 0x65, 0x18,
 27240  	0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x01, 0x65, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18,
 27241  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 27242  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x01, 0x67, 0x12, 0x22,
 27243  	0x0a, 0x01, 0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74,
 27244  	0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52,
 27245  	0x01, 0x68, 0x12, 0x25, 0x0a, 0x01, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
 27246  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31,
 27247  	0x42, 0x04, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x01, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x6e,
 27248  	0x5f, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18,
 27249  	0x87, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69,
 27250  	0x63, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22,
 27251  	0xe7, 0x06, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33,
 27252  	0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, 0x01, 0x78,
 27253  	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18, 0x02,
 27254  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65,
 27255  	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x61, 0x12, 0x22, 0x0a,
 27256  	0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
 27257  	0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01,
 27258  	0x62, 0x12, 0x22, 0x0a, 0x01, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74,
 27259  	0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
 27260  	0x6e, 0x33, 0x52, 0x01, 0x63, 0x12, 0x22, 0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
 27261  	0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
 27262  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x64, 0x12, 0x2f, 0x0a, 0x01, 0x66, 0x18, 0x07,
 27263  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65,
 27264  	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65,
 27265  	0x73, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x01, 0x66, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18,
 27266  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 27267  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x01, 0x67, 0x12, 0x22,
 27268  	0x0a, 0x01, 0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74,
 27269  	0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52,
 27270  	0x01, 0x68, 0x12, 0x25, 0x0a, 0x01, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
 27271  	0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31,
 27272  	0x42, 0x04, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x01, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x6e,
 27273  	0x5f, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18,
 27274  	0x87, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69,
 27275  	0x63, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x6e, 0x65,
 27276  	0x72, 0x31, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
 27277  	0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f,
 27278  	0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x31,
 27279  	0x52, 0x06, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x6e, 0x65,
 27280  	0x72, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
 27281  	0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f,
 27282  	0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32,
 27283  	0x52, 0x06, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x1a, 0xa7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x6e,
 27284  	0x65, 0x72, 0x31, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 27285  	0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 27286  	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72,
 27287  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
 27288  	0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f, 0x6e, 0x65,
 27289  	0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x2e, 0x49,
 27290  	0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72,
 27291  	0x1a, 0x30, 0x0a, 0x0a, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e,
 27292  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
 27293  	0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69,
 27294  	0x74, 0x79, 0x1a, 0xad, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x12, 0x0e, 0x0a,
 27295  	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a,
 27296  	0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
 27297  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72,
 27298  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
 27299  	0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f, 0x6e, 0x65,
 27300  	0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x2e, 0x49,
 27301  	0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72,
 27302  	0x1a, 0x30, 0x0a, 0x0a, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e,
 27303  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
 27304  	0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69,
 27305  	0x74, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0xe9, 0x06, 0x0a, 0x17, 0x54, 0x65,
 27306  	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x34, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65,
 27307  	0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 27308  	0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
 27309  	0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73,
 27310  	0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x61, 0x12, 0x22, 0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x01,
 27311  	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74,
 27312  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x62, 0x12, 0x22, 0x0a, 0x01, 0x63,
 27313  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
 27314  	0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33, 0x52, 0x01, 0x63, 0x12,
 27315  	0x22, 0x0a, 0x01, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73,
 27316  	0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x33,
 27317  	0x52, 0x01, 0x64, 0x12, 0x2f, 0x0a, 0x01, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
 27318  	0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73,
 27319  	0x69, 0x6f, 0x6e, 0x33, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x48,
 27320  	0x00, 0x52, 0x01, 0x66, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
 27321  	0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 27322  	0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01, 0x68, 0x18, 0x09, 0x20,
 27323  	0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73,
 27324  	0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68, 0x12, 0x25, 0x0a, 0x01,
 27325  	0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62,
 27326  	0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31, 0x42, 0x04, 0xd0, 0xde, 0x1f, 0x01,
 27327  	0x52, 0x01, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x69,
 27328  	0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x87, 0x08, 0x20, 0x01, 0x28, 0x09,
 27329  	0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x65,
 27330  	0x6c, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x18, 0x0e, 0x20, 0x01,
 27331  	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74,
 27332  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x34, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74,
 27333  	0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x52, 0x06, 0x69, 0x6e, 0x6e, 0x65,
 27334  	0x72, 0x31, 0x12, 0x3e, 0x0a, 0x06, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x18, 0x0f, 0x20, 0x01,
 27335  	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74,
 27336  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x34, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74,
 27337  	0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x52, 0x06, 0x69, 0x6e, 0x6e, 0x65,
 27338  	0x72, 0x32, 0x1a, 0xa7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x12, 0x0e, 0x0a,
 27339  	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
 27340  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
 27341  	0x65, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
 27342  	0x32, 0x31, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
 27343  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x34, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e,
 27344  	0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x31, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e,
 27345  	0x6e, 0x65, 0x72, 0x52, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0x30, 0x0a, 0x0a, 0x49, 0x6e,
 27346  	0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
 27347  	0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79,
 27348  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x1a, 0xaf, 0x01, 0x0a,
 27349  	0x06, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
 27350  	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 27351  	0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72,
 27352  	0x79, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
 27353  	0x32, 0x31, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
 27354  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x34, 0x4c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x69, 0x6e,
 27355  	0x67, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x32, 0x2e, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e,
 27356  	0x6e, 0x65, 0x72, 0x52, 0x05, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x1a, 0x32, 0x0a, 0x0a, 0x49, 0x6e,
 27357  	0x6e, 0x65, 0x72, 0x49, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
 27358  	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
 27359  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x05,
 27360  	0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0xc7, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
 27361  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x44, 0x31, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20,
 27362  	0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
 27363  	0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56,
 27364  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x61, 0x12, 0x0e, 0x0a, 0x01, 0x65, 0x18,
 27365  	0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x01, 0x65, 0x12, 0x24, 0x0a, 0x01, 0x66, 0x18,
 27366  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27367  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x48, 0x00, 0x52, 0x01, 0x66,
 27368  	0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
 27369  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
 27370  	0x79, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01, 0x68, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
 27371  	0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
 27372  	0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22,
 27373  	0xd3, 0x01, 0x0a, 0x1a, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46,
 27374  	0x44, 0x31, 0x57, 0x69, 0x74, 0x68, 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x6e, 0x79, 0x12, 0x0c,
 27375  	0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x78, 0x12, 0x22, 0x0a, 0x01,
 27376  	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62,
 27377  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x61,
 27378  	0x12, 0x0e, 0x0a, 0x01, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x01, 0x65,
 27379  	0x12, 0x24, 0x0a, 0x01, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65,
 27380  	0x73, 0x74, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 27381  	0x31, 0x48, 0x00, 0x52, 0x01, 0x66, 0x12, 0x22, 0x0a, 0x01, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
 27382  	0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x41, 0x6e, 0x79, 0x57, 0x69,
 27383  	0x74, 0x68, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x01, 0x67, 0x12, 0x22, 0x0a, 0x01, 0x68, 0x18,
 27384  	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x54,
 27385  	0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x31, 0x52, 0x01, 0x68, 0x42, 0x05,
 27386  	0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x54, 0x0a, 0x0c, 0x41, 0x6e, 0x79, 0x57, 0x69, 0x74, 0x68,
 27387  	0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x28, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
 27388  	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 27389  	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x04, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x01, 0x61, 0x12,
 27390  	0x0c, 0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x62, 0x12, 0x0c, 0x0a,
 27391  	0x01, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x63, 0x22, 0xc0, 0x01, 0x0a, 0x10,
 27392  	0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x78, 0x52, 0x61, 0x77,
 27393  	0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01,
 27394  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x62, 0x6f, 0x64, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
 27395  	0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x62, 0x79, 0x74,
 27396  	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x49, 0x6e,
 27397  	0x66, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61,
 27398  	0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67,
 27399  	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x66,
 27400  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x65,
 27401  	0x77, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x35, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x66,
 27402  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x31, 0x30, 0x32, 0x34, 0x18, 0x80, 0x08, 0x20, 0x01, 0x28, 0x0c,
 27403  	0x52, 0x0c, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x30, 0x32, 0x34, 0x22, 0x90,
 27404  	0x03, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x78,
 27405  	0x42, 0x6f, 0x64, 0x79, 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
 27406  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
 27407  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6d, 0x65,
 27408  	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x02,
 27409  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69,
 27410  	0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01,
 27411  	0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68,
 27412  	0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69,
 27413  	0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x6f, 0x6d, 0x65, 0x4e,
 27414  	0x65, 0x77, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x6f, 0x6d, 0x65, 0x5f,
 27415  	0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x72,
 27416  	0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x9a, 0x08, 0x20,
 27417  	0x01, 0x28, 0x09, 0x52, 0x1c, 0x73, 0x6f, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x46, 0x69, 0x65, 0x6c,
 27418  	0x64, 0x4e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c,
 27419  	0x64, 0x12, 0x42, 0x0a, 0x11, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f,
 27420  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
 27421  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 27422  	0x41, 0x6e, 0x79, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
 27423  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x1e, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69,
 27424  	0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
 27425  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
 27426  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 27427  	0x2e, 0x41, 0x6e, 0x79, 0x52, 0x1b, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61,
 27428  	0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
 27429  	0x73, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 27430  	0x64, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x67,
 27431  	0x6e, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
 27432  	0x1d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65,
 27433  	0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b,
 27434  	0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x03, 0x66,
 27435  	0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
 27436  	0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x65,
 27437  	0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x65,
 27438  	0x6c, 0x64, 0x5f, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x46,
 27439  	0x69, 0x65, 0x6c, 0x64, 0x33, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69, 0x65,
 27440  	0x6c, 0x64, 0x5f, 0x31, 0x30, 0x32, 0x34, 0x18, 0x80, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
 27441  	0x6e, 0x65, 0x77, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x30, 0x32, 0x34, 0x22, 0x27, 0x0a, 0x11,
 27442  	0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74,
 27443  	0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52,
 27444  	0x04, 0x6e, 0x75, 0x6d, 0x73, 0x42, 0x96, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65,
 27445  	0x73, 0x74, 0x70, 0x62, 0x42, 0x12, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x6e, 0x77, 0x6e, 0x70, 0x72,
 27446  	0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68,
 27447  	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f,
 27448  	0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x75, 0x74, 0x69,
 27449  	0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x75, 0x6c, 0x73, 0x61,
 27450  	0x72, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x54, 0x58, 0x58, 0xaa, 0x02,
 27451  	0x06, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0xca, 0x02, 0x06, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62,
 27452  	0xe2, 0x02, 0x12, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74,
 27453  	0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x06, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0x62, 0x06,
 27454  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 27455  }
 27456  
 27457  var (
 27458  	file_testpb_unknonwnproto_proto_rawDescOnce sync.Once
 27459  	file_testpb_unknonwnproto_proto_rawDescData = file_testpb_unknonwnproto_proto_rawDesc
 27460  )
 27461  
 27462  func file_testpb_unknonwnproto_proto_rawDescGZIP() []byte {
 27463  	file_testpb_unknonwnproto_proto_rawDescOnce.Do(func() {
 27464  		file_testpb_unknonwnproto_proto_rawDescData = protoimpl.X.CompressGZIP(file_testpb_unknonwnproto_proto_rawDescData)
 27465  	})
 27466  	return file_testpb_unknonwnproto_proto_rawDescData
 27467  }
 27468  
 27469  var file_testpb_unknonwnproto_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
 27470  var file_testpb_unknonwnproto_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
 27471  var file_testpb_unknonwnproto_proto_goTypes = []interface{}{
 27472  	(Customer2_City)(0),                               // 0: testpb.Customer2.City
 27473  	(*Customer1)(nil),                                 // 1: testpb.Customer1
 27474  	(*Customer2)(nil),                                 // 2: testpb.Customer2
 27475  	(*Nested4A)(nil),                                  // 3: testpb.Nested4A
 27476  	(*Nested3A)(nil),                                  // 4: testpb.Nested3A
 27477  	(*Nested2A)(nil),                                  // 5: testpb.Nested2A
 27478  	(*Nested1A)(nil),                                  // 6: testpb.Nested1A
 27479  	(*Nested4B)(nil),                                  // 7: testpb.Nested4B
 27480  	(*Nested3B)(nil),                                  // 8: testpb.Nested3B
 27481  	(*Nested2B)(nil),                                  // 9: testpb.Nested2B
 27482  	(*Nested1B)(nil),                                  // 10: testpb.Nested1B
 27483  	(*Customer3)(nil),                                 // 11: testpb.Customer3
 27484  	(*TestVersion1)(nil),                              // 12: testpb.TestVersion1
 27485  	(*TestVersion2)(nil),                              // 13: testpb.TestVersion2
 27486  	(*TestVersion3)(nil),                              // 14: testpb.TestVersion3
 27487  	(*TestVersion3LoneOneOfValue)(nil),                // 15: testpb.TestVersion3LoneOneOfValue
 27488  	(*TestVersion3LoneNesting)(nil),                   // 16: testpb.TestVersion3LoneNesting
 27489  	(*TestVersion4LoneNesting)(nil),                   // 17: testpb.TestVersion4LoneNesting
 27490  	(*TestVersionFD1)(nil),                            // 18: testpb.TestVersionFD1
 27491  	(*TestVersionFD1WithExtraAny)(nil),                // 19: testpb.TestVersionFD1WithExtraAny
 27492  	(*AnyWithExtra)(nil),                              // 20: testpb.AnyWithExtra
 27493  	(*TestUpdatedTxRaw)(nil),                          // 21: testpb.TestUpdatedTxRaw
 27494  	(*TestUpdatedTxBody)(nil),                         // 22: testpb.TestUpdatedTxBody
 27495  	(*TestUpdatedAuthInfo)(nil),                       // 23: testpb.TestUpdatedAuthInfo
 27496  	(*TestRepeatedUints)(nil),                         // 24: testpb.TestRepeatedUints
 27497  	nil,                                               // 25: testpb.Nested3A.IndexEntry
 27498  	(*TestVersion3LoneNesting_Inner1)(nil),            // 26: testpb.TestVersion3LoneNesting.Inner1
 27499  	(*TestVersion3LoneNesting_Inner2)(nil),            // 27: testpb.TestVersion3LoneNesting.Inner2
 27500  	(*TestVersion3LoneNesting_Inner1_InnerInner)(nil), // 28: testpb.TestVersion3LoneNesting.Inner1.InnerInner
 27501  	(*TestVersion3LoneNesting_Inner2_InnerInner)(nil), // 29: testpb.TestVersion3LoneNesting.Inner2.InnerInner
 27502  	(*TestVersion4LoneNesting_Inner1)(nil),            // 30: testpb.TestVersion4LoneNesting.Inner1
 27503  	(*TestVersion4LoneNesting_Inner2)(nil),            // 31: testpb.TestVersion4LoneNesting.Inner2
 27504  	(*TestVersion4LoneNesting_Inner1_InnerInner)(nil), // 32: testpb.TestVersion4LoneNesting.Inner1.InnerInner
 27505  	(*TestVersion4LoneNesting_Inner2_InnerInner)(nil), // 33: testpb.TestVersion4LoneNesting.Inner2.InnerInner
 27506  	(*anypb.Any)(nil),                                 // 34: google.protobuf.Any
 27507  	(*v1beta1.SignerInfo)(nil),                        // 35: cosmos.tx.v1beta1.SignerInfo
 27508  	(*v1beta1.Fee)(nil),                               // 36: cosmos.tx.v1beta1.Fee
 27509  }
 27510  var file_testpb_unknonwnproto_proto_depIdxs = []int32{
 27511  	0,  // 0: testpb.Customer2.city:type_name -> testpb.Customer2.City
 27512  	34, // 1: testpb.Customer2.miscellaneous:type_name -> google.protobuf.Any
 27513  	3,  // 2: testpb.Nested3A.a4:type_name -> testpb.Nested4A
 27514  	25, // 3: testpb.Nested3A.index:type_name -> testpb.Nested3A.IndexEntry
 27515  	4,  // 4: testpb.Nested2A.nested:type_name -> testpb.Nested3A
 27516  	5,  // 5: testpb.Nested1A.nested:type_name -> testpb.Nested2A
 27517  	7,  // 6: testpb.Nested3B.b4:type_name -> testpb.Nested4B
 27518  	8,  // 7: testpb.Nested2B.nested:type_name -> testpb.Nested3B
 27519  	9,  // 8: testpb.Nested1B.nested:type_name -> testpb.Nested2B
 27520  	1,  // 9: testpb.Customer3.original:type_name -> testpb.Customer1
 27521  	12, // 10: testpb.TestVersion1.a:type_name -> testpb.TestVersion1
 27522  	12, // 11: testpb.TestVersion1.b:type_name -> testpb.TestVersion1
 27523  	12, // 12: testpb.TestVersion1.c:type_name -> testpb.TestVersion1
 27524  	12, // 13: testpb.TestVersion1.d:type_name -> testpb.TestVersion1
 27525  	12, // 14: testpb.TestVersion1.f:type_name -> testpb.TestVersion1
 27526  	34, // 15: testpb.TestVersion1.g:type_name -> google.protobuf.Any
 27527  	12, // 16: testpb.TestVersion1.h:type_name -> testpb.TestVersion1
 27528  	1,  // 17: testpb.TestVersion1.k:type_name -> testpb.Customer1
 27529  	13, // 18: testpb.TestVersion2.a:type_name -> testpb.TestVersion2
 27530  	13, // 19: testpb.TestVersion2.b:type_name -> testpb.TestVersion2
 27531  	13, // 20: testpb.TestVersion2.c:type_name -> testpb.TestVersion2
 27532  	13, // 21: testpb.TestVersion2.d:type_name -> testpb.TestVersion2
 27533  	13, // 22: testpb.TestVersion2.f:type_name -> testpb.TestVersion2
 27534  	34, // 23: testpb.TestVersion2.g:type_name -> google.protobuf.Any
 27535  	12, // 24: testpb.TestVersion2.h:type_name -> testpb.TestVersion1
 27536  	1,  // 25: testpb.TestVersion2.k:type_name -> testpb.Customer1
 27537  	14, // 26: testpb.TestVersion3.a:type_name -> testpb.TestVersion3
 27538  	14, // 27: testpb.TestVersion3.b:type_name -> testpb.TestVersion3
 27539  	14, // 28: testpb.TestVersion3.c:type_name -> testpb.TestVersion3
 27540  	14, // 29: testpb.TestVersion3.d:type_name -> testpb.TestVersion3
 27541  	14, // 30: testpb.TestVersion3.f:type_name -> testpb.TestVersion3
 27542  	34, // 31: testpb.TestVersion3.g:type_name -> google.protobuf.Any
 27543  	12, // 32: testpb.TestVersion3.h:type_name -> testpb.TestVersion1
 27544  	1,  // 33: testpb.TestVersion3.k:type_name -> testpb.Customer1
 27545  	14, // 34: testpb.TestVersion3LoneOneOfValue.a:type_name -> testpb.TestVersion3
 27546  	14, // 35: testpb.TestVersion3LoneOneOfValue.b:type_name -> testpb.TestVersion3
 27547  	14, // 36: testpb.TestVersion3LoneOneOfValue.c:type_name -> testpb.TestVersion3
 27548  	14, // 37: testpb.TestVersion3LoneOneOfValue.d:type_name -> testpb.TestVersion3
 27549  	34, // 38: testpb.TestVersion3LoneOneOfValue.g:type_name -> google.protobuf.Any
 27550  	12, // 39: testpb.TestVersion3LoneOneOfValue.h:type_name -> testpb.TestVersion1
 27551  	1,  // 40: testpb.TestVersion3LoneOneOfValue.k:type_name -> testpb.Customer1
 27552  	14, // 41: testpb.TestVersion3LoneNesting.a:type_name -> testpb.TestVersion3
 27553  	14, // 42: testpb.TestVersion3LoneNesting.b:type_name -> testpb.TestVersion3
 27554  	14, // 43: testpb.TestVersion3LoneNesting.c:type_name -> testpb.TestVersion3
 27555  	14, // 44: testpb.TestVersion3LoneNesting.d:type_name -> testpb.TestVersion3
 27556  	16, // 45: testpb.TestVersion3LoneNesting.f:type_name -> testpb.TestVersion3LoneNesting
 27557  	34, // 46: testpb.TestVersion3LoneNesting.g:type_name -> google.protobuf.Any
 27558  	12, // 47: testpb.TestVersion3LoneNesting.h:type_name -> testpb.TestVersion1
 27559  	1,  // 48: testpb.TestVersion3LoneNesting.k:type_name -> testpb.Customer1
 27560  	26, // 49: testpb.TestVersion3LoneNesting.inner1:type_name -> testpb.TestVersion3LoneNesting.Inner1
 27561  	27, // 50: testpb.TestVersion3LoneNesting.inner2:type_name -> testpb.TestVersion3LoneNesting.Inner2
 27562  	14, // 51: testpb.TestVersion4LoneNesting.a:type_name -> testpb.TestVersion3
 27563  	14, // 52: testpb.TestVersion4LoneNesting.b:type_name -> testpb.TestVersion3
 27564  	14, // 53: testpb.TestVersion4LoneNesting.c:type_name -> testpb.TestVersion3
 27565  	14, // 54: testpb.TestVersion4LoneNesting.d:type_name -> testpb.TestVersion3
 27566  	16, // 55: testpb.TestVersion4LoneNesting.f:type_name -> testpb.TestVersion3LoneNesting
 27567  	34, // 56: testpb.TestVersion4LoneNesting.g:type_name -> google.protobuf.Any
 27568  	12, // 57: testpb.TestVersion4LoneNesting.h:type_name -> testpb.TestVersion1
 27569  	1,  // 58: testpb.TestVersion4LoneNesting.k:type_name -> testpb.Customer1
 27570  	30, // 59: testpb.TestVersion4LoneNesting.inner1:type_name -> testpb.TestVersion4LoneNesting.Inner1
 27571  	31, // 60: testpb.TestVersion4LoneNesting.inner2:type_name -> testpb.TestVersion4LoneNesting.Inner2
 27572  	12, // 61: testpb.TestVersionFD1.a:type_name -> testpb.TestVersion1
 27573  	12, // 62: testpb.TestVersionFD1.f:type_name -> testpb.TestVersion1
 27574  	34, // 63: testpb.TestVersionFD1.g:type_name -> google.protobuf.Any
 27575  	12, // 64: testpb.TestVersionFD1.h:type_name -> testpb.TestVersion1
 27576  	12, // 65: testpb.TestVersionFD1WithExtraAny.a:type_name -> testpb.TestVersion1
 27577  	12, // 66: testpb.TestVersionFD1WithExtraAny.f:type_name -> testpb.TestVersion1
 27578  	20, // 67: testpb.TestVersionFD1WithExtraAny.g:type_name -> testpb.AnyWithExtra
 27579  	12, // 68: testpb.TestVersionFD1WithExtraAny.h:type_name -> testpb.TestVersion1
 27580  	34, // 69: testpb.AnyWithExtra.a:type_name -> google.protobuf.Any
 27581  	34, // 70: testpb.TestUpdatedTxBody.messages:type_name -> google.protobuf.Any
 27582  	34, // 71: testpb.TestUpdatedTxBody.extension_options:type_name -> google.protobuf.Any
 27583  	34, // 72: testpb.TestUpdatedTxBody.non_critical_extension_options:type_name -> google.protobuf.Any
 27584  	35, // 73: testpb.TestUpdatedAuthInfo.signer_infos:type_name -> cosmos.tx.v1beta1.SignerInfo
 27585  	36, // 74: testpb.TestUpdatedAuthInfo.fee:type_name -> cosmos.tx.v1beta1.Fee
 27586  	3,  // 75: testpb.Nested3A.IndexEntry.value:type_name -> testpb.Nested4A
 27587  	28, // 76: testpb.TestVersion3LoneNesting.Inner1.inner:type_name -> testpb.TestVersion3LoneNesting.Inner1.InnerInner
 27588  	29, // 77: testpb.TestVersion3LoneNesting.Inner2.inner:type_name -> testpb.TestVersion3LoneNesting.Inner2.InnerInner
 27589  	32, // 78: testpb.TestVersion4LoneNesting.Inner1.inner:type_name -> testpb.TestVersion4LoneNesting.Inner1.InnerInner
 27590  	33, // 79: testpb.TestVersion4LoneNesting.Inner2.inner:type_name -> testpb.TestVersion4LoneNesting.Inner2.InnerInner
 27591  	80, // [80:80] is the sub-list for method output_type
 27592  	80, // [80:80] is the sub-list for method input_type
 27593  	80, // [80:80] is the sub-list for extension type_name
 27594  	80, // [80:80] is the sub-list for extension extendee
 27595  	0,  // [0:80] is the sub-list for field type_name
 27596  }
 27597  
 27598  func init() { file_testpb_unknonwnproto_proto_init() }
 27599  func file_testpb_unknonwnproto_proto_init() {
 27600  	if File_testpb_unknonwnproto_proto != nil {
 27601  		return
 27602  	}
 27603  	if !protoimpl.UnsafeEnabled {
 27604  		file_testpb_unknonwnproto_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 27605  			switch v := v.(*Customer1); i {
 27606  			case 0:
 27607  				return &v.state
 27608  			case 1:
 27609  				return &v.sizeCache
 27610  			case 2:
 27611  				return &v.unknownFields
 27612  			default:
 27613  				return nil
 27614  			}
 27615  		}
 27616  		file_testpb_unknonwnproto_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 27617  			switch v := v.(*Customer2); i {
 27618  			case 0:
 27619  				return &v.state
 27620  			case 1:
 27621  				return &v.sizeCache
 27622  			case 2:
 27623  				return &v.unknownFields
 27624  			default:
 27625  				return nil
 27626  			}
 27627  		}
 27628  		file_testpb_unknonwnproto_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 27629  			switch v := v.(*Nested4A); i {
 27630  			case 0:
 27631  				return &v.state
 27632  			case 1:
 27633  				return &v.sizeCache
 27634  			case 2:
 27635  				return &v.unknownFields
 27636  			default:
 27637  				return nil
 27638  			}
 27639  		}
 27640  		file_testpb_unknonwnproto_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 27641  			switch v := v.(*Nested3A); i {
 27642  			case 0:
 27643  				return &v.state
 27644  			case 1:
 27645  				return &v.sizeCache
 27646  			case 2:
 27647  				return &v.unknownFields
 27648  			default:
 27649  				return nil
 27650  			}
 27651  		}
 27652  		file_testpb_unknonwnproto_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 27653  			switch v := v.(*Nested2A); i {
 27654  			case 0:
 27655  				return &v.state
 27656  			case 1:
 27657  				return &v.sizeCache
 27658  			case 2:
 27659  				return &v.unknownFields
 27660  			default:
 27661  				return nil
 27662  			}
 27663  		}
 27664  		file_testpb_unknonwnproto_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 27665  			switch v := v.(*Nested1A); i {
 27666  			case 0:
 27667  				return &v.state
 27668  			case 1:
 27669  				return &v.sizeCache
 27670  			case 2:
 27671  				return &v.unknownFields
 27672  			default:
 27673  				return nil
 27674  			}
 27675  		}
 27676  		file_testpb_unknonwnproto_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 27677  			switch v := v.(*Nested4B); i {
 27678  			case 0:
 27679  				return &v.state
 27680  			case 1:
 27681  				return &v.sizeCache
 27682  			case 2:
 27683  				return &v.unknownFields
 27684  			default:
 27685  				return nil
 27686  			}
 27687  		}
 27688  		file_testpb_unknonwnproto_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 27689  			switch v := v.(*Nested3B); i {
 27690  			case 0:
 27691  				return &v.state
 27692  			case 1:
 27693  				return &v.sizeCache
 27694  			case 2:
 27695  				return &v.unknownFields
 27696  			default:
 27697  				return nil
 27698  			}
 27699  		}
 27700  		file_testpb_unknonwnproto_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 27701  			switch v := v.(*Nested2B); i {
 27702  			case 0:
 27703  				return &v.state
 27704  			case 1:
 27705  				return &v.sizeCache
 27706  			case 2:
 27707  				return &v.unknownFields
 27708  			default:
 27709  				return nil
 27710  			}
 27711  		}
 27712  		file_testpb_unknonwnproto_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 27713  			switch v := v.(*Nested1B); i {
 27714  			case 0:
 27715  				return &v.state
 27716  			case 1:
 27717  				return &v.sizeCache
 27718  			case 2:
 27719  				return &v.unknownFields
 27720  			default:
 27721  				return nil
 27722  			}
 27723  		}
 27724  		file_testpb_unknonwnproto_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 27725  			switch v := v.(*Customer3); i {
 27726  			case 0:
 27727  				return &v.state
 27728  			case 1:
 27729  				return &v.sizeCache
 27730  			case 2:
 27731  				return &v.unknownFields
 27732  			default:
 27733  				return nil
 27734  			}
 27735  		}
 27736  		file_testpb_unknonwnproto_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 27737  			switch v := v.(*TestVersion1); i {
 27738  			case 0:
 27739  				return &v.state
 27740  			case 1:
 27741  				return &v.sizeCache
 27742  			case 2:
 27743  				return &v.unknownFields
 27744  			default:
 27745  				return nil
 27746  			}
 27747  		}
 27748  		file_testpb_unknonwnproto_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 27749  			switch v := v.(*TestVersion2); i {
 27750  			case 0:
 27751  				return &v.state
 27752  			case 1:
 27753  				return &v.sizeCache
 27754  			case 2:
 27755  				return &v.unknownFields
 27756  			default:
 27757  				return nil
 27758  			}
 27759  		}
 27760  		file_testpb_unknonwnproto_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 27761  			switch v := v.(*TestVersion3); i {
 27762  			case 0:
 27763  				return &v.state
 27764  			case 1:
 27765  				return &v.sizeCache
 27766  			case 2:
 27767  				return &v.unknownFields
 27768  			default:
 27769  				return nil
 27770  			}
 27771  		}
 27772  		file_testpb_unknonwnproto_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 27773  			switch v := v.(*TestVersion3LoneOneOfValue); i {
 27774  			case 0:
 27775  				return &v.state
 27776  			case 1:
 27777  				return &v.sizeCache
 27778  			case 2:
 27779  				return &v.unknownFields
 27780  			default:
 27781  				return nil
 27782  			}
 27783  		}
 27784  		file_testpb_unknonwnproto_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 27785  			switch v := v.(*TestVersion3LoneNesting); i {
 27786  			case 0:
 27787  				return &v.state
 27788  			case 1:
 27789  				return &v.sizeCache
 27790  			case 2:
 27791  				return &v.unknownFields
 27792  			default:
 27793  				return nil
 27794  			}
 27795  		}
 27796  		file_testpb_unknonwnproto_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 27797  			switch v := v.(*TestVersion4LoneNesting); i {
 27798  			case 0:
 27799  				return &v.state
 27800  			case 1:
 27801  				return &v.sizeCache
 27802  			case 2:
 27803  				return &v.unknownFields
 27804  			default:
 27805  				return nil
 27806  			}
 27807  		}
 27808  		file_testpb_unknonwnproto_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 27809  			switch v := v.(*TestVersionFD1); i {
 27810  			case 0:
 27811  				return &v.state
 27812  			case 1:
 27813  				return &v.sizeCache
 27814  			case 2:
 27815  				return &v.unknownFields
 27816  			default:
 27817  				return nil
 27818  			}
 27819  		}
 27820  		file_testpb_unknonwnproto_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 27821  			switch v := v.(*TestVersionFD1WithExtraAny); i {
 27822  			case 0:
 27823  				return &v.state
 27824  			case 1:
 27825  				return &v.sizeCache
 27826  			case 2:
 27827  				return &v.unknownFields
 27828  			default:
 27829  				return nil
 27830  			}
 27831  		}
 27832  		file_testpb_unknonwnproto_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 27833  			switch v := v.(*AnyWithExtra); i {
 27834  			case 0:
 27835  				return &v.state
 27836  			case 1:
 27837  				return &v.sizeCache
 27838  			case 2:
 27839  				return &v.unknownFields
 27840  			default:
 27841  				return nil
 27842  			}
 27843  		}
 27844  		file_testpb_unknonwnproto_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 27845  			switch v := v.(*TestUpdatedTxRaw); i {
 27846  			case 0:
 27847  				return &v.state
 27848  			case 1:
 27849  				return &v.sizeCache
 27850  			case 2:
 27851  				return &v.unknownFields
 27852  			default:
 27853  				return nil
 27854  			}
 27855  		}
 27856  		file_testpb_unknonwnproto_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 27857  			switch v := v.(*TestUpdatedTxBody); i {
 27858  			case 0:
 27859  				return &v.state
 27860  			case 1:
 27861  				return &v.sizeCache
 27862  			case 2:
 27863  				return &v.unknownFields
 27864  			default:
 27865  				return nil
 27866  			}
 27867  		}
 27868  		file_testpb_unknonwnproto_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 27869  			switch v := v.(*TestUpdatedAuthInfo); i {
 27870  			case 0:
 27871  				return &v.state
 27872  			case 1:
 27873  				return &v.sizeCache
 27874  			case 2:
 27875  				return &v.unknownFields
 27876  			default:
 27877  				return nil
 27878  			}
 27879  		}
 27880  		file_testpb_unknonwnproto_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 27881  			switch v := v.(*TestRepeatedUints); i {
 27882  			case 0:
 27883  				return &v.state
 27884  			case 1:
 27885  				return &v.sizeCache
 27886  			case 2:
 27887  				return &v.unknownFields
 27888  			default:
 27889  				return nil
 27890  			}
 27891  		}
 27892  		file_testpb_unknonwnproto_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 27893  			switch v := v.(*TestVersion3LoneNesting_Inner1); i {
 27894  			case 0:
 27895  				return &v.state
 27896  			case 1:
 27897  				return &v.sizeCache
 27898  			case 2:
 27899  				return &v.unknownFields
 27900  			default:
 27901  				return nil
 27902  			}
 27903  		}
 27904  		file_testpb_unknonwnproto_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 27905  			switch v := v.(*TestVersion3LoneNesting_Inner2); i {
 27906  			case 0:
 27907  				return &v.state
 27908  			case 1:
 27909  				return &v.sizeCache
 27910  			case 2:
 27911  				return &v.unknownFields
 27912  			default:
 27913  				return nil
 27914  			}
 27915  		}
 27916  		file_testpb_unknonwnproto_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 27917  			switch v := v.(*TestVersion3LoneNesting_Inner1_InnerInner); i {
 27918  			case 0:
 27919  				return &v.state
 27920  			case 1:
 27921  				return &v.sizeCache
 27922  			case 2:
 27923  				return &v.unknownFields
 27924  			default:
 27925  				return nil
 27926  			}
 27927  		}
 27928  		file_testpb_unknonwnproto_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 27929  			switch v := v.(*TestVersion3LoneNesting_Inner2_InnerInner); i {
 27930  			case 0:
 27931  				return &v.state
 27932  			case 1:
 27933  				return &v.sizeCache
 27934  			case 2:
 27935  				return &v.unknownFields
 27936  			default:
 27937  				return nil
 27938  			}
 27939  		}
 27940  		file_testpb_unknonwnproto_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 27941  			switch v := v.(*TestVersion4LoneNesting_Inner1); i {
 27942  			case 0:
 27943  				return &v.state
 27944  			case 1:
 27945  				return &v.sizeCache
 27946  			case 2:
 27947  				return &v.unknownFields
 27948  			default:
 27949  				return nil
 27950  			}
 27951  		}
 27952  		file_testpb_unknonwnproto_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 27953  			switch v := v.(*TestVersion4LoneNesting_Inner2); i {
 27954  			case 0:
 27955  				return &v.state
 27956  			case 1:
 27957  				return &v.sizeCache
 27958  			case 2:
 27959  				return &v.unknownFields
 27960  			default:
 27961  				return nil
 27962  			}
 27963  		}
 27964  		file_testpb_unknonwnproto_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 27965  			switch v := v.(*TestVersion4LoneNesting_Inner1_InnerInner); i {
 27966  			case 0:
 27967  				return &v.state
 27968  			case 1:
 27969  				return &v.sizeCache
 27970  			case 2:
 27971  				return &v.unknownFields
 27972  			default:
 27973  				return nil
 27974  			}
 27975  		}
 27976  		file_testpb_unknonwnproto_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 27977  			switch v := v.(*TestVersion4LoneNesting_Inner2_InnerInner); i {
 27978  			case 0:
 27979  				return &v.state
 27980  			case 1:
 27981  				return &v.sizeCache
 27982  			case 2:
 27983  				return &v.unknownFields
 27984  			default:
 27985  				return nil
 27986  			}
 27987  		}
 27988  	}
 27989  	file_testpb_unknonwnproto_proto_msgTypes[10].OneofWrappers = []interface{}{
 27990  		(*Customer3_CreditCardNo)(nil),
 27991  		(*Customer3_ChequeNo)(nil),
 27992  	}
 27993  	file_testpb_unknonwnproto_proto_msgTypes[11].OneofWrappers = []interface{}{
 27994  		(*TestVersion1_E)(nil),
 27995  		(*TestVersion1_F)(nil),
 27996  	}
 27997  	file_testpb_unknonwnproto_proto_msgTypes[12].OneofWrappers = []interface{}{
 27998  		(*TestVersion2_E)(nil),
 27999  		(*TestVersion2_F)(nil),
 28000  	}
 28001  	file_testpb_unknonwnproto_proto_msgTypes[13].OneofWrappers = []interface{}{
 28002  		(*TestVersion3_E)(nil),
 28003  		(*TestVersion3_F)(nil),
 28004  	}
 28005  	file_testpb_unknonwnproto_proto_msgTypes[14].OneofWrappers = []interface{}{
 28006  		(*TestVersion3LoneOneOfValue_E)(nil),
 28007  	}
 28008  	file_testpb_unknonwnproto_proto_msgTypes[15].OneofWrappers = []interface{}{
 28009  		(*TestVersion3LoneNesting_F)(nil),
 28010  	}
 28011  	file_testpb_unknonwnproto_proto_msgTypes[16].OneofWrappers = []interface{}{
 28012  		(*TestVersion4LoneNesting_F)(nil),
 28013  	}
 28014  	file_testpb_unknonwnproto_proto_msgTypes[17].OneofWrappers = []interface{}{
 28015  		(*TestVersionFD1_E)(nil),
 28016  		(*TestVersionFD1_F)(nil),
 28017  	}
 28018  	file_testpb_unknonwnproto_proto_msgTypes[18].OneofWrappers = []interface{}{
 28019  		(*TestVersionFD1WithExtraAny_E)(nil),
 28020  		(*TestVersionFD1WithExtraAny_F)(nil),
 28021  	}
 28022  	type x struct{}
 28023  	out := protoimpl.TypeBuilder{
 28024  		File: protoimpl.DescBuilder{
 28025  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 28026  			RawDescriptor: file_testpb_unknonwnproto_proto_rawDesc,
 28027  			NumEnums:      1,
 28028  			NumMessages:   33,
 28029  			NumExtensions: 0,
 28030  			NumServices:   0,
 28031  		},
 28032  		GoTypes:           file_testpb_unknonwnproto_proto_goTypes,
 28033  		DependencyIndexes: file_testpb_unknonwnproto_proto_depIdxs,
 28034  		EnumInfos:         file_testpb_unknonwnproto_proto_enumTypes,
 28035  		MessageInfos:      file_testpb_unknonwnproto_proto_msgTypes,
 28036  	}.Build()
 28037  	File_testpb_unknonwnproto_proto = out.File
 28038  	file_testpb_unknonwnproto_proto_rawDesc = nil
 28039  	file_testpb_unknonwnproto_proto_goTypes = nil
 28040  	file_testpb_unknonwnproto_proto_depIdxs = nil
 28041  }