| // <auto-generated> | 
 | //     Generated by the protocol buffer compiler.  DO NOT EDIT! | 
 | //     source: csharp/protos/unittest_issues.proto | 
 | // </auto-generated> | 
 | #pragma warning disable 1591, 0612, 3021, 8981 | 
 | #region Designer generated code | 
 |  | 
 | using pb = global::Google.Protobuf; | 
 | using pbc = global::Google.Protobuf.Collections; | 
 | using pbr = global::Google.Protobuf.Reflection; | 
 | using scg = global::System.Collections.Generic; | 
 | namespace UnitTest.Issues.TestProtos { | 
 |  | 
 |   /// <summary>Holder for reflection information generated from csharp/protos/unittest_issues.proto</summary> | 
 |   public static partial class UnittestIssuesReflection { | 
 |  | 
 |     #region Descriptor | 
 |     /// <summary>File descriptor for csharp/protos/unittest_issues.proto</summary> | 
 |     public static pbr::FileDescriptor Descriptor { | 
 |       get { return descriptor; } | 
 |     } | 
 |     private static pbr::FileDescriptor descriptor; | 
 |  | 
 |     static UnittestIssuesReflection() { | 
 |       byte[] descriptorData = global::System.Convert.FromBase64String( | 
 |           string.Concat( | 
 |             "CiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3Vlcy5wcm90bxIPdW5pdHRl", | 
 |             "c3RfaXNzdWVzGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvIicKCElz", | 
 |             "c3VlMzA3GhsKCk5lc3RlZE9uY2UaDQoLTmVzdGVkVHdpY2UisAEKE05lZ2F0", | 
 |             "aXZlRW51bU1lc3NhZ2USLAoFdmFsdWUYASABKA4yHS51bml0dGVzdF9pc3N1", | 
 |             "ZXMuTmVnYXRpdmVFbnVtEjEKBnZhbHVlcxgCIAMoDjIdLnVuaXR0ZXN0X2lz", | 
 |             "c3Vlcy5OZWdhdGl2ZUVudW1CAhAAEjgKDXBhY2tlZF92YWx1ZXMYAyADKA4y", | 
 |             "HS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtQgIQASIVCg9EZXByZWNh", | 
 |             "dGVkQ2hpbGQ6AhgBIrkCChdEZXByZWNhdGVkRmllbGRzTWVzc2FnZRIaCg5Q", | 
 |             "cmltaXRpdmVWYWx1ZRgBIAEoBUICGAESGgoOUHJpbWl0aXZlQXJyYXkYAiAD", | 
 |             "KAVCAhgBEjoKDE1lc3NhZ2VWYWx1ZRgDIAEoCzIgLnVuaXR0ZXN0X2lzc3Vl", | 
 |             "cy5EZXByZWNhdGVkQ2hpbGRCAhgBEjoKDE1lc3NhZ2VBcnJheRgEIAMoCzIg", | 
 |             "LnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRCAhgBEjYKCUVudW1W", | 
 |             "YWx1ZRgFIAEoDjIfLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUIC", | 
 |             "GAESNgoJRW51bUFycmF5GAYgAygOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJl", | 
 |             "Y2F0ZWRFbnVtQgIYASIZCglJdGVtRmllbGQSDAoEaXRlbRgBIAEoBSJECg1S", | 
 |             "ZXNlcnZlZE5hbWVzEg0KBXR5cGVzGAEgASgFEhIKCmRlc2NyaXB0b3IYAiAB", | 
 |             "KAUaEAoOU29tZU5lc3RlZFR5cGUioAEKFVRlc3RKc29uRmllbGRPcmRlcmlu", | 
 |             "ZxITCgtwbGFpbl9pbnQzMhgEIAEoBRITCglvMV9zdHJpbmcYAiABKAlIABIS", | 
 |             "CghvMV9pbnQzMhgFIAEoBUgAEhQKDHBsYWluX3N0cmluZxgBIAEoCRISCghv", | 
 |             "Ml9pbnQzMhgGIAEoBUgBEhMKCW8yX3N0cmluZxgDIAEoCUgBQgQKAm8xQgQK", | 
 |             "Am8yIksKDFRlc3RKc29uTmFtZRIMCgRuYW1lGAEgASgJEhkKC2Rlc2NyaXB0", | 
 |             "aW9uGAIgASgJUgRkZXNjEhIKBGd1aWQYAyABKAlSBGV4aWQifwoMT25lb2ZN", | 
 |             "ZXJnaW5nEg4KBHRleHQYASABKAlIABI2CgZuZXN0ZWQYAiABKAsyJC51bml0", | 
 |             "dGVzdF9pc3N1ZXMuT25lb2ZNZXJnaW5nLk5lc3RlZEgAGh4KBk5lc3RlZBIJ", | 
 |             "CgF4GAEgASgFEgkKAXkYAiABKAVCBwoFdmFsdWUiawoWTnVsbFZhbHVlT3V0", | 
 |             "c2lkZVN0cnVjdBIWCgxzdHJpbmdfdmFsdWUYASABKAlIABIwCgpudWxsX3Zh", | 
 |             "bHVlGAIgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAQgcKBXZh", | 
 |             "bHVlIkUKE051bGxWYWx1ZU5vdEluT25lb2YSLgoKbnVsbF92YWx1ZRgCIAEo", | 
 |             "DjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWUiYAoXTWl4ZWRSZWd1bGFy", | 
 |             "QW5kT3B0aW9uYWwSFQoNcmVndWxhcl9maWVsZBgBIAEoCRIbCg5vcHRpb25h", | 
 |             "bF9maWVsZBgCIAEoCUgAiAEBQhEKD19vcHRpb25hbF9maWVsZCI5ChJPbmVv", | 
 |             "ZldpdGhOb25lRmllbGQSCwoBeBgBIAEoCUgAEg4KBG5vbmUYAiABKAlIAEIG", | 
 |             "CgR0ZXN0IjUKEU9uZW9mV2l0aE5vbmVOYW1lEgsKAXgYASABKAlIABILCgF5", | 
 |             "GAIgASgJSABCBgoEbm9uZSKTAgoZRGlzYW1iaWd1YXRlQ29tbW9uTWVtYmVy", | 
 |             "cxIjChtkaXNhbWJpZ3VhdGVfY29tbW9uX21lbWJlcnMYASABKAUSDQoFdHlw", | 
 |             "ZXMYAiABKAUSEgoKZGVzY3JpcHRvchgDIAEoBRIOCgZlcXVhbHMYBCABKAUS", | 
 |             "EQoJdG9fc3RyaW5nGAUgASgFEhUKDWdldF9oYXNoX2NvZGUYBiABKAUSEAoI", | 
 |             "d3JpdGVfdG8YByABKAUSDQoFY2xvbmUYCCABKAUSFgoOY2FsY3VsYXRlX3Np", | 
 |             "emUYCSABKAUSEgoKbWVyZ2VfZnJvbRgKIAEoBRIXCg9vbl9jb25zdHJ1Y3Rp", | 
 |             "b24YCyABKAUSDgoGcGFyc2VyGAwgASgFIj0KEUlzc3VlMTE5ODdNZXNzYWdl", | 
 |             "EgwKAWEYASABKAVSAWISDAoBYhgCIAEoBVIBYRIMCgFjGAMgASgFUgFkKlUK", | 
 |             "DE5lZ2F0aXZlRW51bRIWChJORUdBVElWRV9FTlVNX1pFUk8QABIWCglGaXZl", | 
 |             "QmVsb3cQ+///////////ARIVCghNaW51c09uZRD///////////8BKjYKDkRl", | 
 |             "cHJlY2F0ZWRFbnVtEhcKD0RFUFJFQ0FURURfWkVSTxAAGgIIARIHCgNvbmUQ", | 
 |             "ARoCGAFCHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zYgZwcm90bzM=")); | 
 |       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, | 
 |           new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, }, | 
 |           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::UnitTest.Issues.TestProtos.NegativeEnum), typeof(global::UnitTest.Issues.TestProtos.DeprecatedEnum), }, null, new pbr::GeneratedClrTypeInfo[] { | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307), global::UnitTest.Issues.TestProtos.Issue307.Parser, null, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce), global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Parser, null, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Types.NestedTwice), global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Types.NestedTwice.Parser, null, null, null, null, null)})}), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NegativeEnumMessage), global::UnitTest.Issues.TestProtos.NegativeEnumMessage.Parser, new[]{ "Value", "Values", "PackedValues" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DeprecatedChild), global::UnitTest.Issues.TestProtos.DeprecatedChild.Parser, null, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DeprecatedFieldsMessage), global::UnitTest.Issues.TestProtos.DeprecatedFieldsMessage.Parser, new[]{ "PrimitiveValue", "PrimitiveArray", "MessageValue", "MessageArray", "EnumValue", "EnumArray" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ItemField), global::UnitTest.Issues.TestProtos.ItemField.Parser, new[]{ "Item" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ReservedNames), global::UnitTest.Issues.TestProtos.ReservedNames.Parser, new[]{ "Types_", "Descriptor_" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ReservedNames.Types.SomeNestedType), global::UnitTest.Issues.TestProtos.ReservedNames.Types.SomeNestedType.Parser, null, null, null, null, null)}), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestJsonFieldOrdering), global::UnitTest.Issues.TestProtos.TestJsonFieldOrdering.Parser, new[]{ "PlainInt32", "O1String", "O1Int32", "PlainString", "O2Int32", "O2String" }, new[]{ "O1", "O2" }, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestJsonName), global::UnitTest.Issues.TestProtos.TestJsonName.Parser, new[]{ "Name", "Description", "Guid" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofMerging), global::UnitTest.Issues.TestProtos.OneofMerging.Parser, new[]{ "Text", "Nested" }, new[]{ "Value" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested), global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested.Parser, new[]{ "X", "Y" }, null, null, null, null)}), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NullValueOutsideStruct), global::UnitTest.Issues.TestProtos.NullValueOutsideStruct.Parser, new[]{ "StringValue", "NullValue" }, new[]{ "Value" }, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NullValueNotInOneof), global::UnitTest.Issues.TestProtos.NullValueNotInOneof.Parser, new[]{ "NullValue" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.MixedRegularAndOptional), global::UnitTest.Issues.TestProtos.MixedRegularAndOptional.Parser, new[]{ "RegularField", "OptionalField" }, new[]{ "OptionalField" }, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofWithNoneField), global::UnitTest.Issues.TestProtos.OneofWithNoneField.Parser, new[]{ "X", "None" }, new[]{ "Test" }, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofWithNoneName), global::UnitTest.Issues.TestProtos.OneofWithNoneName.Parser, new[]{ "X", "Y" }, new[]{ "None" }, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DisambiguateCommonMembers), global::UnitTest.Issues.TestProtos.DisambiguateCommonMembers.Parser, new[]{ "DisambiguateCommonMembers_", "Types_", "Descriptor_", "Equals_", "ToString_", "GetHashCode_", "WriteTo_", "Clone_", "CalculateSize_", "MergeFrom_", "OnConstruction_", "Parser_" }, null, null, null, null), | 
 |             new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue11987Message), global::UnitTest.Issues.TestProtos.Issue11987Message.Parser, new[]{ "A", "B", "C" }, null, null, null, null) | 
 |           })); | 
 |     } | 
 |     #endregion | 
 |  | 
 |   } | 
 |   #region Enums | 
 |   public enum NegativeEnum { | 
 |     [pbr::OriginalName("NEGATIVE_ENUM_ZERO")] Zero = 0, | 
 |     [pbr::OriginalName("FiveBelow")] FiveBelow = -5, | 
 |     [pbr::OriginalName("MinusOne")] MinusOne = -1, | 
 |   } | 
 |  | 
 |   [global::System.ObsoleteAttribute] | 
 |   public enum DeprecatedEnum { | 
 |     [global::System.ObsoleteAttribute] | 
 |     [pbr::OriginalName("DEPRECATED_ZERO")] DeprecatedZero = 0, | 
 |     [pbr::OriginalName("one")] One = 1, | 
 |   } | 
 |  | 
 |   #endregion | 
 |  | 
 |   #region Messages | 
 |   /// <summary> | 
 |   /// Issue 307: when generating doubly-nested types, any references | 
 |   /// should be of the form A.Types.B.Types.C. | 
 |   /// </summary> | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class Issue307 : pb::IMessage<Issue307> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<Issue307> _parser = new pb::MessageParser<Issue307>(() => new Issue307()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<Issue307> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[0]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue307() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue307(Issue307 other) : this() { | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue307 Clone() { | 
 |       return new Issue307(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as Issue307); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(Issue307 other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(Issue307 other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     #region Nested types | 
 |     /// <summary>Container for nested types declared in the Issue307 message type.</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static partial class Types { | 
 |       [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |       public sealed partial class NestedOnce : pb::IMessage<NestedOnce> | 
 |       #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           , pb::IBufferMessage | 
 |       #endif | 
 |       { | 
 |         private static readonly pb::MessageParser<NestedOnce> _parser = new pb::MessageParser<NestedOnce>(() => new NestedOnce()); | 
 |         private pb::UnknownFieldSet _unknownFields; | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pb::MessageParser<NestedOnce> Parser { get { return _parser; } } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pbr::MessageDescriptor Descriptor { | 
 |           get { return global::UnitTest.Issues.TestProtos.Issue307.Descriptor.NestedTypes[0]; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |           get { return Descriptor; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public NestedOnce() { | 
 |           OnConstruction(); | 
 |         } | 
 |  | 
 |         partial void OnConstruction(); | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public NestedOnce(NestedOnce other) : this() { | 
 |           _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public NestedOnce Clone() { | 
 |           return new NestedOnce(this); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override bool Equals(object other) { | 
 |           return Equals(other as NestedOnce); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public bool Equals(NestedOnce other) { | 
 |           if (ReferenceEquals(other, null)) { | 
 |             return false; | 
 |           } | 
 |           if (ReferenceEquals(other, this)) { | 
 |             return true; | 
 |           } | 
 |           return Equals(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override int GetHashCode() { | 
 |           int hash = 1; | 
 |           if (_unknownFields != null) { | 
 |             hash ^= _unknownFields.GetHashCode(); | 
 |           } | 
 |           return hash; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override string ToString() { | 
 |           return pb::JsonFormatter.ToDiagnosticString(this); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void WriteTo(pb::CodedOutputStream output) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           output.WriteRawMessage(this); | 
 |         #else | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(output); | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(ref output); | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public int CalculateSize() { | 
 |           int size = 0; | 
 |           if (_unknownFields != null) { | 
 |             size += _unknownFields.CalculateSize(); | 
 |           } | 
 |           return size; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(NestedOnce other) { | 
 |           if (other == null) { | 
 |             return; | 
 |           } | 
 |           _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(pb::CodedInputStream input) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           input.ReadRawMessage(this); | 
 |         #else | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |                 break; | 
 |             } | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |                 break; | 
 |             } | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |         #region Nested types | 
 |         /// <summary>Container for nested types declared in the NestedOnce message type.</summary> | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static partial class Types { | 
 |           [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |           public sealed partial class NestedTwice : pb::IMessage<NestedTwice> | 
 |           #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |               , pb::IBufferMessage | 
 |           #endif | 
 |           { | 
 |             private static readonly pb::MessageParser<NestedTwice> _parser = new pb::MessageParser<NestedTwice>(() => new NestedTwice()); | 
 |             private pb::UnknownFieldSet _unknownFields; | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public static pb::MessageParser<NestedTwice> Parser { get { return _parser; } } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public static pbr::MessageDescriptor Descriptor { | 
 |               get { return global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Descriptor.NestedTypes[0]; } | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |               get { return Descriptor; } | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public NestedTwice() { | 
 |               OnConstruction(); | 
 |             } | 
 |  | 
 |             partial void OnConstruction(); | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public NestedTwice(NestedTwice other) : this() { | 
 |               _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public NestedTwice Clone() { | 
 |               return new NestedTwice(this); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public override bool Equals(object other) { | 
 |               return Equals(other as NestedTwice); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public bool Equals(NestedTwice other) { | 
 |               if (ReferenceEquals(other, null)) { | 
 |                 return false; | 
 |               } | 
 |               if (ReferenceEquals(other, this)) { | 
 |                 return true; | 
 |               } | 
 |               return Equals(_unknownFields, other._unknownFields); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public override int GetHashCode() { | 
 |               int hash = 1; | 
 |               if (_unknownFields != null) { | 
 |                 hash ^= _unknownFields.GetHashCode(); | 
 |               } | 
 |               return hash; | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public override string ToString() { | 
 |               return pb::JsonFormatter.ToDiagnosticString(this); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public void WriteTo(pb::CodedOutputStream output) { | 
 |             #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |               output.WriteRawMessage(this); | 
 |             #else | 
 |               if (_unknownFields != null) { | 
 |                 _unknownFields.WriteTo(output); | 
 |               } | 
 |             #endif | 
 |             } | 
 |  | 
 |             #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |               if (_unknownFields != null) { | 
 |                 _unknownFields.WriteTo(ref output); | 
 |               } | 
 |             } | 
 |             #endif | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public int CalculateSize() { | 
 |               int size = 0; | 
 |               if (_unknownFields != null) { | 
 |                 size += _unknownFields.CalculateSize(); | 
 |               } | 
 |               return size; | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public void MergeFrom(NestedTwice other) { | 
 |               if (other == null) { | 
 |                 return; | 
 |               } | 
 |               _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |             } | 
 |  | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             public void MergeFrom(pb::CodedInputStream input) { | 
 |             #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |               input.ReadRawMessage(this); | 
 |             #else | 
 |               uint tag; | 
 |               while ((tag = input.ReadTag()) != 0) { | 
 |               if ((tag & 7) == 4) { | 
 |                 // Abort on any end group tag. | 
 |                 return; | 
 |               } | 
 |               switch(tag) { | 
 |                   default: | 
 |                     _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |                     break; | 
 |                 } | 
 |               } | 
 |             #endif | 
 |             } | 
 |  | 
 |             #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |             [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |             [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |             void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |               uint tag; | 
 |               while ((tag = input.ReadTag()) != 0) { | 
 |               if ((tag & 7) == 4) { | 
 |                 // Abort on any end group tag. | 
 |                 return; | 
 |               } | 
 |               switch(tag) { | 
 |                   default: | 
 |                     _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |                     break; | 
 |                 } | 
 |               } | 
 |             } | 
 |             #endif | 
 |  | 
 |           } | 
 |  | 
 |         } | 
 |         #endregion | 
 |  | 
 |       } | 
 |  | 
 |     } | 
 |     #endregion | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class NegativeEnumMessage : pb::IMessage<NegativeEnumMessage> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<NegativeEnumMessage> _parser = new pb::MessageParser<NegativeEnumMessage>(() => new NegativeEnumMessage()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<NegativeEnumMessage> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[1]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NegativeEnumMessage() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NegativeEnumMessage(NegativeEnumMessage other) : this() { | 
 |       value_ = other.value_; | 
 |       values_ = other.values_.Clone(); | 
 |       packedValues_ = other.packedValues_.Clone(); | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NegativeEnumMessage Clone() { | 
 |       return new NegativeEnumMessage(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "value" field.</summary> | 
 |     public const int ValueFieldNumber = 1; | 
 |     private global::UnitTest.Issues.TestProtos.NegativeEnum value_ = global::UnitTest.Issues.TestProtos.NegativeEnum.Zero; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::UnitTest.Issues.TestProtos.NegativeEnum Value { | 
 |       get { return value_; } | 
 |       set { | 
 |         value_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "values" field.</summary> | 
 |     public const int ValuesFieldNumber = 2; | 
 |     private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.NegativeEnum> _repeated_values_codec | 
 |         = pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::UnitTest.Issues.TestProtos.NegativeEnum) x); | 
 |     private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> values_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum>(); | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> Values { | 
 |       get { return values_; } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "packed_values" field.</summary> | 
 |     public const int PackedValuesFieldNumber = 3; | 
 |     private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.NegativeEnum> _repeated_packedValues_codec | 
 |         = pb::FieldCodec.ForEnum(26, x => (int) x, x => (global::UnitTest.Issues.TestProtos.NegativeEnum) x); | 
 |     private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> packedValues_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum>(); | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> PackedValues { | 
 |       get { return packedValues_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as NegativeEnumMessage); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(NegativeEnumMessage other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (Value != other.Value) return false; | 
 |       if(!values_.Equals(other.values_)) return false; | 
 |       if(!packedValues_.Equals(other.packedValues_)) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) hash ^= Value.GetHashCode(); | 
 |       hash ^= values_.GetHashCode(); | 
 |       hash ^= packedValues_.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteEnum((int) Value); | 
 |       } | 
 |       values_.WriteTo(output, _repeated_values_codec); | 
 |       packedValues_.WriteTo(output, _repeated_packedValues_codec); | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteEnum((int) Value); | 
 |       } | 
 |       values_.WriteTo(ref output, _repeated_values_codec); | 
 |       packedValues_.WriteTo(ref output, _repeated_packedValues_codec); | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Value); | 
 |       } | 
 |       size += values_.CalculateSize(_repeated_values_codec); | 
 |       size += packedValues_.CalculateSize(_repeated_packedValues_codec); | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(NegativeEnumMessage other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) { | 
 |         Value = other.Value; | 
 |       } | 
 |       values_.Add(other.values_); | 
 |       packedValues_.Add(other.packedValues_); | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             Value = (global::UnitTest.Issues.TestProtos.NegativeEnum) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |           case 18: | 
 |           case 16: { | 
 |             values_.AddEntriesFrom(input, _repeated_values_codec); | 
 |             break; | 
 |           } | 
 |           case 26: | 
 |           case 24: { | 
 |             packedValues_.AddEntriesFrom(input, _repeated_packedValues_codec); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             Value = (global::UnitTest.Issues.TestProtos.NegativeEnum) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |           case 18: | 
 |           case 16: { | 
 |             values_.AddEntriesFrom(ref input, _repeated_values_codec); | 
 |             break; | 
 |           } | 
 |           case 26: | 
 |           case 24: { | 
 |             packedValues_.AddEntriesFrom(ref input, _repeated_packedValues_codec); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.ObsoleteAttribute] | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class DeprecatedChild : pb::IMessage<DeprecatedChild> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<DeprecatedChild> _parser = new pb::MessageParser<DeprecatedChild>(() => new DeprecatedChild()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<DeprecatedChild> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[2]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedChild() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedChild(DeprecatedChild other) : this() { | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedChild Clone() { | 
 |       return new DeprecatedChild(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as DeprecatedChild); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(DeprecatedChild other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(DeprecatedChild other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class DeprecatedFieldsMessage : pb::IMessage<DeprecatedFieldsMessage> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<DeprecatedFieldsMessage> _parser = new pb::MessageParser<DeprecatedFieldsMessage>(() => new DeprecatedFieldsMessage()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<DeprecatedFieldsMessage> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[3]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedFieldsMessage() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedFieldsMessage(DeprecatedFieldsMessage other) : this() { | 
 |       primitiveValue_ = other.primitiveValue_; | 
 |       primitiveArray_ = other.primitiveArray_.Clone(); | 
 |       messageValue_ = other.messageValue_ != null ? other.messageValue_.Clone() : null; | 
 |       messageArray_ = other.messageArray_.Clone(); | 
 |       enumValue_ = other.enumValue_; | 
 |       enumArray_ = other.enumArray_.Clone(); | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DeprecatedFieldsMessage Clone() { | 
 |       return new DeprecatedFieldsMessage(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "PrimitiveValue" field.</summary> | 
 |     public const int PrimitiveValueFieldNumber = 1; | 
 |     private int primitiveValue_; | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int PrimitiveValue { | 
 |       get { return primitiveValue_; } | 
 |       set { | 
 |         primitiveValue_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "PrimitiveArray" field.</summary> | 
 |     public const int PrimitiveArrayFieldNumber = 2; | 
 |     private static readonly pb::FieldCodec<int> _repeated_primitiveArray_codec | 
 |         = pb::FieldCodec.ForInt32(18); | 
 |     private readonly pbc::RepeatedField<int> primitiveArray_ = new pbc::RepeatedField<int>(); | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public pbc::RepeatedField<int> PrimitiveArray { | 
 |       get { return primitiveArray_; } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "MessageValue" field.</summary> | 
 |     public const int MessageValueFieldNumber = 3; | 
 |     private global::UnitTest.Issues.TestProtos.DeprecatedChild messageValue_; | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::UnitTest.Issues.TestProtos.DeprecatedChild MessageValue { | 
 |       get { return messageValue_; } | 
 |       set { | 
 |         messageValue_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "MessageArray" field.</summary> | 
 |     public const int MessageArrayFieldNumber = 4; | 
 |     private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.DeprecatedChild> _repeated_messageArray_codec | 
 |         = pb::FieldCodec.ForMessage(34, global::UnitTest.Issues.TestProtos.DeprecatedChild.Parser); | 
 |     private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild> messageArray_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild>(); | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild> MessageArray { | 
 |       get { return messageArray_; } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "EnumValue" field.</summary> | 
 |     public const int EnumValueFieldNumber = 5; | 
 |     private global::UnitTest.Issues.TestProtos.DeprecatedEnum enumValue_ = global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero; | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::UnitTest.Issues.TestProtos.DeprecatedEnum EnumValue { | 
 |       get { return enumValue_; } | 
 |       set { | 
 |         enumValue_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "EnumArray" field.</summary> | 
 |     public const int EnumArrayFieldNumber = 6; | 
 |     private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.DeprecatedEnum> _repeated_enumArray_codec | 
 |         = pb::FieldCodec.ForEnum(50, x => (int) x, x => (global::UnitTest.Issues.TestProtos.DeprecatedEnum) x); | 
 |     private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum> enumArray_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum>(); | 
 |     [global::System.ObsoleteAttribute] | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum> EnumArray { | 
 |       get { return enumArray_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as DeprecatedFieldsMessage); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(DeprecatedFieldsMessage other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (PrimitiveValue != other.PrimitiveValue) return false; | 
 |       if(!primitiveArray_.Equals(other.primitiveArray_)) return false; | 
 |       if (!object.Equals(MessageValue, other.MessageValue)) return false; | 
 |       if(!messageArray_.Equals(other.messageArray_)) return false; | 
 |       if (EnumValue != other.EnumValue) return false; | 
 |       if(!enumArray_.Equals(other.enumArray_)) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (PrimitiveValue != 0) hash ^= PrimitiveValue.GetHashCode(); | 
 |       hash ^= primitiveArray_.GetHashCode(); | 
 |       if (messageValue_ != null) hash ^= MessageValue.GetHashCode(); | 
 |       hash ^= messageArray_.GetHashCode(); | 
 |       if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) hash ^= EnumValue.GetHashCode(); | 
 |       hash ^= enumArray_.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (PrimitiveValue != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(PrimitiveValue); | 
 |       } | 
 |       primitiveArray_.WriteTo(output, _repeated_primitiveArray_codec); | 
 |       if (messageValue_ != null) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteMessage(MessageValue); | 
 |       } | 
 |       messageArray_.WriteTo(output, _repeated_messageArray_codec); | 
 |       if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteEnum((int) EnumValue); | 
 |       } | 
 |       enumArray_.WriteTo(output, _repeated_enumArray_codec); | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (PrimitiveValue != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(PrimitiveValue); | 
 |       } | 
 |       primitiveArray_.WriteTo(ref output, _repeated_primitiveArray_codec); | 
 |       if (messageValue_ != null) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteMessage(MessageValue); | 
 |       } | 
 |       messageArray_.WriteTo(ref output, _repeated_messageArray_codec); | 
 |       if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteEnum((int) EnumValue); | 
 |       } | 
 |       enumArray_.WriteTo(ref output, _repeated_enumArray_codec); | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (PrimitiveValue != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(PrimitiveValue); | 
 |       } | 
 |       size += primitiveArray_.CalculateSize(_repeated_primitiveArray_codec); | 
 |       if (messageValue_ != null) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeMessageSize(MessageValue); | 
 |       } | 
 |       size += messageArray_.CalculateSize(_repeated_messageArray_codec); | 
 |       if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnumValue); | 
 |       } | 
 |       size += enumArray_.CalculateSize(_repeated_enumArray_codec); | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(DeprecatedFieldsMessage other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.PrimitiveValue != 0) { | 
 |         PrimitiveValue = other.PrimitiveValue; | 
 |       } | 
 |       primitiveArray_.Add(other.primitiveArray_); | 
 |       if (other.messageValue_ != null) { | 
 |         if (messageValue_ == null) { | 
 |           MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild(); | 
 |         } | 
 |         MessageValue.MergeFrom(other.MessageValue); | 
 |       } | 
 |       messageArray_.Add(other.messageArray_); | 
 |       if (other.EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) { | 
 |         EnumValue = other.EnumValue; | 
 |       } | 
 |       enumArray_.Add(other.enumArray_); | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             PrimitiveValue = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 18: | 
 |           case 16: { | 
 |             primitiveArray_.AddEntriesFrom(input, _repeated_primitiveArray_codec); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             if (messageValue_ == null) { | 
 |               MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild(); | 
 |             } | 
 |             input.ReadMessage(MessageValue); | 
 |             break; | 
 |           } | 
 |           case 34: { | 
 |             messageArray_.AddEntriesFrom(input, _repeated_messageArray_codec); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             EnumValue = (global::UnitTest.Issues.TestProtos.DeprecatedEnum) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |           case 50: | 
 |           case 48: { | 
 |             enumArray_.AddEntriesFrom(input, _repeated_enumArray_codec); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             PrimitiveValue = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 18: | 
 |           case 16: { | 
 |             primitiveArray_.AddEntriesFrom(ref input, _repeated_primitiveArray_codec); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             if (messageValue_ == null) { | 
 |               MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild(); | 
 |             } | 
 |             input.ReadMessage(MessageValue); | 
 |             break; | 
 |           } | 
 |           case 34: { | 
 |             messageArray_.AddEntriesFrom(ref input, _repeated_messageArray_codec); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             EnumValue = (global::UnitTest.Issues.TestProtos.DeprecatedEnum) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |           case 50: | 
 |           case 48: { | 
 |             enumArray_.AddEntriesFrom(ref input, _repeated_enumArray_codec); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   /// <summary> | 
 |   /// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45 | 
 |   /// </summary> | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class ItemField : pb::IMessage<ItemField> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<ItemField> _parser = new pb::MessageParser<ItemField>(() => new ItemField()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<ItemField> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[4]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ItemField() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ItemField(ItemField other) : this() { | 
 |       item_ = other.item_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ItemField Clone() { | 
 |       return new ItemField(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "item" field.</summary> | 
 |     public const int ItemFieldNumber = 1; | 
 |     private int item_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Item { | 
 |       get { return item_; } | 
 |       set { | 
 |         item_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as ItemField); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(ItemField other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (Item != other.Item) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (Item != 0) hash ^= Item.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (Item != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(Item); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (Item != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(Item); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (Item != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(ItemField other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.Item != 0) { | 
 |         Item = other.Item; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             Item = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             Item = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class ReservedNames : pb::IMessage<ReservedNames> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<ReservedNames> _parser = new pb::MessageParser<ReservedNames>(() => new ReservedNames()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<ReservedNames> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[5]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ReservedNames() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ReservedNames(ReservedNames other) : this() { | 
 |       types_ = other.types_; | 
 |       descriptor_ = other.descriptor_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ReservedNames Clone() { | 
 |       return new ReservedNames(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "types" field.</summary> | 
 |     public const int Types_FieldNumber = 1; | 
 |     private int types_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Types_ { | 
 |       get { return types_; } | 
 |       set { | 
 |         types_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "descriptor" field.</summary> | 
 |     public const int Descriptor_FieldNumber = 2; | 
 |     private int descriptor_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Descriptor_ { | 
 |       get { return descriptor_; } | 
 |       set { | 
 |         descriptor_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as ReservedNames); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(ReservedNames other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (Types_ != other.Types_) return false; | 
 |       if (Descriptor_ != other.Descriptor_) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (Types_ != 0) hash ^= Types_.GetHashCode(); | 
 |       if (Descriptor_ != 0) hash ^= Descriptor_.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (Types_ != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(Descriptor_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (Types_ != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(Descriptor_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (Types_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Descriptor_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(ReservedNames other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.Types_ != 0) { | 
 |         Types_ = other.Types_; | 
 |       } | 
 |       if (other.Descriptor_ != 0) { | 
 |         Descriptor_ = other.Descriptor_; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             Types_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             Descriptor_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             Types_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             Descriptor_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     #region Nested types | 
 |     /// <summary>Container for nested types declared in the ReservedNames message type.</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static partial class Types { | 
 |       /// <summary> | 
 |       /// Force a nested type called Types | 
 |       /// </summary> | 
 |       [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |       public sealed partial class SomeNestedType : pb::IMessage<SomeNestedType> | 
 |       #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           , pb::IBufferMessage | 
 |       #endif | 
 |       { | 
 |         private static readonly pb::MessageParser<SomeNestedType> _parser = new pb::MessageParser<SomeNestedType>(() => new SomeNestedType()); | 
 |         private pb::UnknownFieldSet _unknownFields; | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pb::MessageParser<SomeNestedType> Parser { get { return _parser; } } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pbr::MessageDescriptor Descriptor { | 
 |           get { return global::UnitTest.Issues.TestProtos.ReservedNames.Descriptor.NestedTypes[0]; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |           get { return Descriptor; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public SomeNestedType() { | 
 |           OnConstruction(); | 
 |         } | 
 |  | 
 |         partial void OnConstruction(); | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public SomeNestedType(SomeNestedType other) : this() { | 
 |           _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public SomeNestedType Clone() { | 
 |           return new SomeNestedType(this); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override bool Equals(object other) { | 
 |           return Equals(other as SomeNestedType); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public bool Equals(SomeNestedType other) { | 
 |           if (ReferenceEquals(other, null)) { | 
 |             return false; | 
 |           } | 
 |           if (ReferenceEquals(other, this)) { | 
 |             return true; | 
 |           } | 
 |           return Equals(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override int GetHashCode() { | 
 |           int hash = 1; | 
 |           if (_unknownFields != null) { | 
 |             hash ^= _unknownFields.GetHashCode(); | 
 |           } | 
 |           return hash; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override string ToString() { | 
 |           return pb::JsonFormatter.ToDiagnosticString(this); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void WriteTo(pb::CodedOutputStream output) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           output.WriteRawMessage(this); | 
 |         #else | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(output); | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(ref output); | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public int CalculateSize() { | 
 |           int size = 0; | 
 |           if (_unknownFields != null) { | 
 |             size += _unknownFields.CalculateSize(); | 
 |           } | 
 |           return size; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(SomeNestedType other) { | 
 |           if (other == null) { | 
 |             return; | 
 |           } | 
 |           _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(pb::CodedInputStream input) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           input.ReadRawMessage(this); | 
 |         #else | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |                 break; | 
 |             } | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |                 break; | 
 |             } | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |       } | 
 |  | 
 |     } | 
 |     #endregion | 
 |  | 
 |   } | 
 |  | 
 |   /// <summary> | 
 |   /// These fields are deliberately not declared in numeric | 
 |   /// order, and the oneof fields aren't contiguous either. | 
 |   /// This allows for reasonably robust tests of JSON output | 
 |   /// ordering. | 
 |   /// TestFieldOrderings in unittest_proto3.proto is similar, | 
 |   /// but doesn't include oneofs. | 
 |   /// TODO: Consider adding oneofs to TestFieldOrderings, although | 
 |   /// that will require fixing other tests in multiple platforms. | 
 |   /// Alternatively, consider just adding this to | 
 |   /// unittest_proto3.proto if multiple platforms want it. | 
 |   /// </summary> | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class TestJsonFieldOrdering : pb::IMessage<TestJsonFieldOrdering> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<TestJsonFieldOrdering> _parser = new pb::MessageParser<TestJsonFieldOrdering>(() => new TestJsonFieldOrdering()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<TestJsonFieldOrdering> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[6]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonFieldOrdering() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonFieldOrdering(TestJsonFieldOrdering other) : this() { | 
 |       plainInt32_ = other.plainInt32_; | 
 |       plainString_ = other.plainString_; | 
 |       switch (other.O1Case) { | 
 |         case O1OneofCase.O1String: | 
 |           O1String = other.O1String; | 
 |           break; | 
 |         case O1OneofCase.O1Int32: | 
 |           O1Int32 = other.O1Int32; | 
 |           break; | 
 |       } | 
 |  | 
 |       switch (other.O2Case) { | 
 |         case O2OneofCase.O2Int32: | 
 |           O2Int32 = other.O2Int32; | 
 |           break; | 
 |         case O2OneofCase.O2String: | 
 |           O2String = other.O2String; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonFieldOrdering Clone() { | 
 |       return new TestJsonFieldOrdering(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "plain_int32" field.</summary> | 
 |     public const int PlainInt32FieldNumber = 4; | 
 |     private int plainInt32_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int PlainInt32 { | 
 |       get { return plainInt32_; } | 
 |       set { | 
 |         plainInt32_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "o1_string" field.</summary> | 
 |     public const int O1StringFieldNumber = 2; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string O1String { | 
 |       get { return HasO1String ? (string) o1_ : ""; } | 
 |       set { | 
 |         o1_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         o1Case_ = O1OneofCase.O1String; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "o1_string" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasO1String { | 
 |       get { return o1Case_ == O1OneofCase.O1String; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "o1_string" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO1String() { | 
 |       if (HasO1String) { | 
 |         ClearO1(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "o1_int32" field.</summary> | 
 |     public const int O1Int32FieldNumber = 5; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int O1Int32 { | 
 |       get { return HasO1Int32 ? (int) o1_ : 0; } | 
 |       set { | 
 |         o1_ = value; | 
 |         o1Case_ = O1OneofCase.O1Int32; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "o1_int32" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasO1Int32 { | 
 |       get { return o1Case_ == O1OneofCase.O1Int32; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "o1_int32" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO1Int32() { | 
 |       if (HasO1Int32) { | 
 |         ClearO1(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "plain_string" field.</summary> | 
 |     public const int PlainStringFieldNumber = 1; | 
 |     private string plainString_ = ""; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string PlainString { | 
 |       get { return plainString_; } | 
 |       set { | 
 |         plainString_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "o2_int32" field.</summary> | 
 |     public const int O2Int32FieldNumber = 6; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int O2Int32 { | 
 |       get { return HasO2Int32 ? (int) o2_ : 0; } | 
 |       set { | 
 |         o2_ = value; | 
 |         o2Case_ = O2OneofCase.O2Int32; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "o2_int32" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasO2Int32 { | 
 |       get { return o2Case_ == O2OneofCase.O2Int32; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "o2_int32" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO2Int32() { | 
 |       if (HasO2Int32) { | 
 |         ClearO2(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "o2_string" field.</summary> | 
 |     public const int O2StringFieldNumber = 3; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string O2String { | 
 |       get { return HasO2String ? (string) o2_ : ""; } | 
 |       set { | 
 |         o2_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         o2Case_ = O2OneofCase.O2String; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "o2_string" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasO2String { | 
 |       get { return o2Case_ == O2OneofCase.O2String; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "o2_string" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO2String() { | 
 |       if (HasO2String) { | 
 |         ClearO2(); | 
 |       } | 
 |     } | 
 |  | 
 |     private object o1_; | 
 |     /// <summary>Enum of possible cases for the "o1" oneof.</summary> | 
 |     public enum O1OneofCase { | 
 |       None = 0, | 
 |       O1String = 2, | 
 |       O1Int32 = 5, | 
 |     } | 
 |     private O1OneofCase o1Case_ = O1OneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public O1OneofCase O1Case { | 
 |       get { return o1Case_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO1() { | 
 |       o1Case_ = O1OneofCase.None; | 
 |       o1_ = null; | 
 |     } | 
 |  | 
 |     private object o2_; | 
 |     /// <summary>Enum of possible cases for the "o2" oneof.</summary> | 
 |     public enum O2OneofCase { | 
 |       None = 0, | 
 |       O2Int32 = 6, | 
 |       O2String = 3, | 
 |     } | 
 |     private O2OneofCase o2Case_ = O2OneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public O2OneofCase O2Case { | 
 |       get { return o2Case_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearO2() { | 
 |       o2Case_ = O2OneofCase.None; | 
 |       o2_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as TestJsonFieldOrdering); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(TestJsonFieldOrdering other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (PlainInt32 != other.PlainInt32) return false; | 
 |       if (O1String != other.O1String) return false; | 
 |       if (O1Int32 != other.O1Int32) return false; | 
 |       if (PlainString != other.PlainString) return false; | 
 |       if (O2Int32 != other.O2Int32) return false; | 
 |       if (O2String != other.O2String) return false; | 
 |       if (O1Case != other.O1Case) return false; | 
 |       if (O2Case != other.O2Case) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (PlainInt32 != 0) hash ^= PlainInt32.GetHashCode(); | 
 |       if (HasO1String) hash ^= O1String.GetHashCode(); | 
 |       if (HasO1Int32) hash ^= O1Int32.GetHashCode(); | 
 |       if (PlainString.Length != 0) hash ^= PlainString.GetHashCode(); | 
 |       if (HasO2Int32) hash ^= O2Int32.GetHashCode(); | 
 |       if (HasO2String) hash ^= O2String.GetHashCode(); | 
 |       hash ^= (int) o1Case_; | 
 |       hash ^= (int) o2Case_; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (PlainString.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(PlainString); | 
 |       } | 
 |       if (HasO1String) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(O1String); | 
 |       } | 
 |       if (HasO2String) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteString(O2String); | 
 |       } | 
 |       if (PlainInt32 != 0) { | 
 |         output.WriteRawTag(32); | 
 |         output.WriteInt32(PlainInt32); | 
 |       } | 
 |       if (HasO1Int32) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteInt32(O1Int32); | 
 |       } | 
 |       if (HasO2Int32) { | 
 |         output.WriteRawTag(48); | 
 |         output.WriteInt32(O2Int32); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (PlainString.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(PlainString); | 
 |       } | 
 |       if (HasO1String) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(O1String); | 
 |       } | 
 |       if (HasO2String) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteString(O2String); | 
 |       } | 
 |       if (PlainInt32 != 0) { | 
 |         output.WriteRawTag(32); | 
 |         output.WriteInt32(PlainInt32); | 
 |       } | 
 |       if (HasO1Int32) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteInt32(O1Int32); | 
 |       } | 
 |       if (HasO2Int32) { | 
 |         output.WriteRawTag(48); | 
 |         output.WriteInt32(O2Int32); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (PlainInt32 != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlainInt32); | 
 |       } | 
 |       if (HasO1String) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(O1String); | 
 |       } | 
 |       if (HasO1Int32) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(O1Int32); | 
 |       } | 
 |       if (PlainString.Length != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(PlainString); | 
 |       } | 
 |       if (HasO2Int32) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(O2Int32); | 
 |       } | 
 |       if (HasO2String) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(O2String); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(TestJsonFieldOrdering other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.PlainInt32 != 0) { | 
 |         PlainInt32 = other.PlainInt32; | 
 |       } | 
 |       if (other.PlainString.Length != 0) { | 
 |         PlainString = other.PlainString; | 
 |       } | 
 |       switch (other.O1Case) { | 
 |         case O1OneofCase.O1String: | 
 |           O1String = other.O1String; | 
 |           break; | 
 |         case O1OneofCase.O1Int32: | 
 |           O1Int32 = other.O1Int32; | 
 |           break; | 
 |       } | 
 |  | 
 |       switch (other.O2Case) { | 
 |         case O2OneofCase.O2Int32: | 
 |           O2Int32 = other.O2Int32; | 
 |           break; | 
 |         case O2OneofCase.O2String: | 
 |           O2String = other.O2String; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             PlainString = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             O1String = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             O2String = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 32: { | 
 |             PlainInt32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             O1Int32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 48: { | 
 |             O2Int32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             PlainString = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             O1String = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             O2String = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 32: { | 
 |             PlainInt32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             O1Int32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 48: { | 
 |             O2Int32 = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class TestJsonName : pb::IMessage<TestJsonName> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<TestJsonName> _parser = new pb::MessageParser<TestJsonName>(() => new TestJsonName()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<TestJsonName> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[7]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonName() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonName(TestJsonName other) : this() { | 
 |       name_ = other.name_; | 
 |       description_ = other.description_; | 
 |       guid_ = other.guid_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestJsonName Clone() { | 
 |       return new TestJsonName(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "name" field.</summary> | 
 |     public const int NameFieldNumber = 1; | 
 |     private string name_ = ""; | 
 |     /// <summary> | 
 |     /// Message for testing the effects for of the json_name option | 
 |     /// </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string Name { | 
 |       get { return name_; } | 
 |       set { | 
 |         name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "description" field.</summary> | 
 |     public const int DescriptionFieldNumber = 2; | 
 |     private string description_ = ""; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string Description { | 
 |       get { return description_; } | 
 |       set { | 
 |         description_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "guid" field.</summary> | 
 |     public const int GuidFieldNumber = 3; | 
 |     private string guid_ = ""; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string Guid { | 
 |       get { return guid_; } | 
 |       set { | 
 |         guid_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as TestJsonName); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(TestJsonName other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (Name != other.Name) return false; | 
 |       if (Description != other.Description) return false; | 
 |       if (Guid != other.Guid) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (Name.Length != 0) hash ^= Name.GetHashCode(); | 
 |       if (Description.Length != 0) hash ^= Description.GetHashCode(); | 
 |       if (Guid.Length != 0) hash ^= Guid.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (Name.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(Name); | 
 |       } | 
 |       if (Description.Length != 0) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(Description); | 
 |       } | 
 |       if (Guid.Length != 0) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteString(Guid); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (Name.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(Name); | 
 |       } | 
 |       if (Description.Length != 0) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(Description); | 
 |       } | 
 |       if (Guid.Length != 0) { | 
 |         output.WriteRawTag(26); | 
 |         output.WriteString(Guid); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (Name.Length != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); | 
 |       } | 
 |       if (Description.Length != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(Description); | 
 |       } | 
 |       if (Guid.Length != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(Guid); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(TestJsonName other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.Name.Length != 0) { | 
 |         Name = other.Name; | 
 |       } | 
 |       if (other.Description.Length != 0) { | 
 |         Description = other.Description; | 
 |       } | 
 |       if (other.Guid.Length != 0) { | 
 |         Guid = other.Guid; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             Name = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             Description = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             Guid = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             Name = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             Description = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 26: { | 
 |             Guid = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   /// <summary> | 
 |   /// Issue 3200: When merging two messages which use the same | 
 |   /// oneof case, which is itself a message type, the submessages should | 
 |   /// be merged. | 
 |   /// </summary> | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class OneofMerging : pb::IMessage<OneofMerging> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<OneofMerging> _parser = new pb::MessageParser<OneofMerging>(() => new OneofMerging()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<OneofMerging> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[8]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofMerging() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofMerging(OneofMerging other) : this() { | 
 |       switch (other.ValueCase) { | 
 |         case ValueOneofCase.Text: | 
 |           Text = other.Text; | 
 |           break; | 
 |         case ValueOneofCase.Nested: | 
 |           Nested = other.Nested.Clone(); | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofMerging Clone() { | 
 |       return new OneofMerging(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "text" field.</summary> | 
 |     public const int TextFieldNumber = 1; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string Text { | 
 |       get { return HasText ? (string) value_ : ""; } | 
 |       set { | 
 |         value_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         valueCase_ = ValueOneofCase.Text; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "text" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasText { | 
 |       get { return valueCase_ == ValueOneofCase.Text; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "text" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearText() { | 
 |       if (HasText) { | 
 |         ClearValue(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "nested" field.</summary> | 
 |     public const int NestedFieldNumber = 2; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested Nested { | 
 |       get { return valueCase_ == ValueOneofCase.Nested ? (global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested) value_ : null; } | 
 |       set { | 
 |         value_ = value; | 
 |         valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.Nested; | 
 |       } | 
 |     } | 
 |  | 
 |     private object value_; | 
 |     /// <summary>Enum of possible cases for the "value" oneof.</summary> | 
 |     public enum ValueOneofCase { | 
 |       None = 0, | 
 |       Text = 1, | 
 |       Nested = 2, | 
 |     } | 
 |     private ValueOneofCase valueCase_ = ValueOneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ValueOneofCase ValueCase { | 
 |       get { return valueCase_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearValue() { | 
 |       valueCase_ = ValueOneofCase.None; | 
 |       value_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as OneofMerging); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(OneofMerging other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (Text != other.Text) return false; | 
 |       if (!object.Equals(Nested, other.Nested)) return false; | 
 |       if (ValueCase != other.ValueCase) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (HasText) hash ^= Text.GetHashCode(); | 
 |       if (valueCase_ == ValueOneofCase.Nested) hash ^= Nested.GetHashCode(); | 
 |       hash ^= (int) valueCase_; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (HasText) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(Text); | 
 |       } | 
 |       if (valueCase_ == ValueOneofCase.Nested) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteMessage(Nested); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (HasText) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(Text); | 
 |       } | 
 |       if (valueCase_ == ValueOneofCase.Nested) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteMessage(Nested); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (HasText) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(Text); | 
 |       } | 
 |       if (valueCase_ == ValueOneofCase.Nested) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeMessageSize(Nested); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(OneofMerging other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       switch (other.ValueCase) { | 
 |         case ValueOneofCase.Text: | 
 |           Text = other.Text; | 
 |           break; | 
 |         case ValueOneofCase.Nested: | 
 |           if (Nested == null) { | 
 |             Nested = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested(); | 
 |           } | 
 |           Nested.MergeFrom(other.Nested); | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             Text = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested subBuilder = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested(); | 
 |             if (valueCase_ == ValueOneofCase.Nested) { | 
 |               subBuilder.MergeFrom(Nested); | 
 |             } | 
 |             input.ReadMessage(subBuilder); | 
 |             Nested = subBuilder; | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             Text = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested subBuilder = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested(); | 
 |             if (valueCase_ == ValueOneofCase.Nested) { | 
 |               subBuilder.MergeFrom(Nested); | 
 |             } | 
 |             input.ReadMessage(subBuilder); | 
 |             Nested = subBuilder; | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     #region Nested types | 
 |     /// <summary>Container for nested types declared in the OneofMerging message type.</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static partial class Types { | 
 |       [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |       public sealed partial class Nested : pb::IMessage<Nested> | 
 |       #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           , pb::IBufferMessage | 
 |       #endif | 
 |       { | 
 |         private static readonly pb::MessageParser<Nested> _parser = new pb::MessageParser<Nested>(() => new Nested()); | 
 |         private pb::UnknownFieldSet _unknownFields; | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pb::MessageParser<Nested> Parser { get { return _parser; } } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public static pbr::MessageDescriptor Descriptor { | 
 |           get { return global::UnitTest.Issues.TestProtos.OneofMerging.Descriptor.NestedTypes[0]; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |           get { return Descriptor; } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public Nested() { | 
 |           OnConstruction(); | 
 |         } | 
 |  | 
 |         partial void OnConstruction(); | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public Nested(Nested other) : this() { | 
 |           x_ = other.x_; | 
 |           y_ = other.y_; | 
 |           _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public Nested Clone() { | 
 |           return new Nested(this); | 
 |         } | 
 |  | 
 |         /// <summary>Field number for the "x" field.</summary> | 
 |         public const int XFieldNumber = 1; | 
 |         private int x_; | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public int X { | 
 |           get { return x_; } | 
 |           set { | 
 |             x_ = value; | 
 |           } | 
 |         } | 
 |  | 
 |         /// <summary>Field number for the "y" field.</summary> | 
 |         public const int YFieldNumber = 2; | 
 |         private int y_; | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public int Y { | 
 |           get { return y_; } | 
 |           set { | 
 |             y_ = value; | 
 |           } | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override bool Equals(object other) { | 
 |           return Equals(other as Nested); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public bool Equals(Nested other) { | 
 |           if (ReferenceEquals(other, null)) { | 
 |             return false; | 
 |           } | 
 |           if (ReferenceEquals(other, this)) { | 
 |             return true; | 
 |           } | 
 |           if (X != other.X) return false; | 
 |           if (Y != other.Y) return false; | 
 |           return Equals(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override int GetHashCode() { | 
 |           int hash = 1; | 
 |           if (X != 0) hash ^= X.GetHashCode(); | 
 |           if (Y != 0) hash ^= Y.GetHashCode(); | 
 |           if (_unknownFields != null) { | 
 |             hash ^= _unknownFields.GetHashCode(); | 
 |           } | 
 |           return hash; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public override string ToString() { | 
 |           return pb::JsonFormatter.ToDiagnosticString(this); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void WriteTo(pb::CodedOutputStream output) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           output.WriteRawMessage(this); | 
 |         #else | 
 |           if (X != 0) { | 
 |             output.WriteRawTag(8); | 
 |             output.WriteInt32(X); | 
 |           } | 
 |           if (Y != 0) { | 
 |             output.WriteRawTag(16); | 
 |             output.WriteInt32(Y); | 
 |           } | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(output); | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |           if (X != 0) { | 
 |             output.WriteRawTag(8); | 
 |             output.WriteInt32(X); | 
 |           } | 
 |           if (Y != 0) { | 
 |             output.WriteRawTag(16); | 
 |             output.WriteInt32(Y); | 
 |           } | 
 |           if (_unknownFields != null) { | 
 |             _unknownFields.WriteTo(ref output); | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public int CalculateSize() { | 
 |           int size = 0; | 
 |           if (X != 0) { | 
 |             size += 1 + pb::CodedOutputStream.ComputeInt32Size(X); | 
 |           } | 
 |           if (Y != 0) { | 
 |             size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y); | 
 |           } | 
 |           if (_unknownFields != null) { | 
 |             size += _unknownFields.CalculateSize(); | 
 |           } | 
 |           return size; | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(Nested other) { | 
 |           if (other == null) { | 
 |             return; | 
 |           } | 
 |           if (other.X != 0) { | 
 |             X = other.X; | 
 |           } | 
 |           if (other.Y != 0) { | 
 |             Y = other.Y; | 
 |           } | 
 |           _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |         } | 
 |  | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         public void MergeFrom(pb::CodedInputStream input) { | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |           input.ReadRawMessage(this); | 
 |         #else | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |                 break; | 
 |               case 8: { | 
 |                 X = input.ReadInt32(); | 
 |                 break; | 
 |               } | 
 |               case 16: { | 
 |                 Y = input.ReadInt32(); | 
 |                 break; | 
 |               } | 
 |             } | 
 |           } | 
 |         #endif | 
 |         } | 
 |  | 
 |         #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |         [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |         [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |         void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |           uint tag; | 
 |           while ((tag = input.ReadTag()) != 0) { | 
 |           if ((tag & 7) == 4) { | 
 |             // Abort on any end group tag. | 
 |             return; | 
 |           } | 
 |           switch(tag) { | 
 |               default: | 
 |                 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |                 break; | 
 |               case 8: { | 
 |                 X = input.ReadInt32(); | 
 |                 break; | 
 |               } | 
 |               case 16: { | 
 |                 Y = input.ReadInt32(); | 
 |                 break; | 
 |               } | 
 |             } | 
 |           } | 
 |         } | 
 |         #endif | 
 |  | 
 |       } | 
 |  | 
 |     } | 
 |     #endregion | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class NullValueOutsideStruct : pb::IMessage<NullValueOutsideStruct> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<NullValueOutsideStruct> _parser = new pb::MessageParser<NullValueOutsideStruct>(() => new NullValueOutsideStruct()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<NullValueOutsideStruct> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[9]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueOutsideStruct() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueOutsideStruct(NullValueOutsideStruct other) : this() { | 
 |       switch (other.ValueCase) { | 
 |         case ValueOneofCase.StringValue: | 
 |           StringValue = other.StringValue; | 
 |           break; | 
 |         case ValueOneofCase.NullValue: | 
 |           NullValue = other.NullValue; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueOutsideStruct Clone() { | 
 |       return new NullValueOutsideStruct(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "string_value" field.</summary> | 
 |     public const int StringValueFieldNumber = 1; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string StringValue { | 
 |       get { return HasStringValue ? (string) value_ : ""; } | 
 |       set { | 
 |         value_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         valueCase_ = ValueOneofCase.StringValue; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "string_value" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasStringValue { | 
 |       get { return valueCase_ == ValueOneofCase.StringValue; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "string_value" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearStringValue() { | 
 |       if (HasStringValue) { | 
 |         ClearValue(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "null_value" field.</summary> | 
 |     public const int NullValueFieldNumber = 2; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::Google.Protobuf.WellKnownTypes.NullValue NullValue { | 
 |       get { return HasNullValue ? (global::Google.Protobuf.WellKnownTypes.NullValue) value_ : global::Google.Protobuf.WellKnownTypes.NullValue.NullValue; } | 
 |       set { | 
 |         value_ = value; | 
 |         valueCase_ = ValueOneofCase.NullValue; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "null_value" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasNullValue { | 
 |       get { return valueCase_ == ValueOneofCase.NullValue; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "null_value" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearNullValue() { | 
 |       if (HasNullValue) { | 
 |         ClearValue(); | 
 |       } | 
 |     } | 
 |  | 
 |     private object value_; | 
 |     /// <summary>Enum of possible cases for the "value" oneof.</summary> | 
 |     public enum ValueOneofCase { | 
 |       None = 0, | 
 |       StringValue = 1, | 
 |       NullValue = 2, | 
 |     } | 
 |     private ValueOneofCase valueCase_ = ValueOneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public ValueOneofCase ValueCase { | 
 |       get { return valueCase_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearValue() { | 
 |       valueCase_ = ValueOneofCase.None; | 
 |       value_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as NullValueOutsideStruct); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(NullValueOutsideStruct other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (StringValue != other.StringValue) return false; | 
 |       if (NullValue != other.NullValue) return false; | 
 |       if (ValueCase != other.ValueCase) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (HasStringValue) hash ^= StringValue.GetHashCode(); | 
 |       if (HasNullValue) hash ^= NullValue.GetHashCode(); | 
 |       hash ^= (int) valueCase_; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (HasStringValue) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(StringValue); | 
 |       } | 
 |       if (HasNullValue) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteEnum((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (HasStringValue) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(StringValue); | 
 |       } | 
 |       if (HasNullValue) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteEnum((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (HasStringValue) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue); | 
 |       } | 
 |       if (HasNullValue) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(NullValueOutsideStruct other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       switch (other.ValueCase) { | 
 |         case ValueOneofCase.StringValue: | 
 |           StringValue = other.StringValue; | 
 |           break; | 
 |         case ValueOneofCase.NullValue: | 
 |           NullValue = other.NullValue; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             StringValue = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             value_ = input.ReadEnum(); | 
 |             valueCase_ = ValueOneofCase.NullValue; | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             StringValue = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             value_ = input.ReadEnum(); | 
 |             valueCase_ = ValueOneofCase.NullValue; | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class NullValueNotInOneof : pb::IMessage<NullValueNotInOneof> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<NullValueNotInOneof> _parser = new pb::MessageParser<NullValueNotInOneof>(() => new NullValueNotInOneof()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<NullValueNotInOneof> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[10]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueNotInOneof() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueNotInOneof(NullValueNotInOneof other) : this() { | 
 |       nullValue_ = other.nullValue_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NullValueNotInOneof Clone() { | 
 |       return new NullValueNotInOneof(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "null_value" field.</summary> | 
 |     public const int NullValueFieldNumber = 2; | 
 |     private global::Google.Protobuf.WellKnownTypes.NullValue nullValue_ = global::Google.Protobuf.WellKnownTypes.NullValue.NullValue; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public global::Google.Protobuf.WellKnownTypes.NullValue NullValue { | 
 |       get { return nullValue_; } | 
 |       set { | 
 |         nullValue_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as NullValueNotInOneof); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(NullValueNotInOneof other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (NullValue != other.NullValue) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) hash ^= NullValue.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteEnum((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteEnum((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NullValue); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(NullValueNotInOneof other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) { | 
 |         NullValue = other.NullValue; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 16: { | 
 |             NullValue = (global::Google.Protobuf.WellKnownTypes.NullValue) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 16: { | 
 |             NullValue = (global::Google.Protobuf.WellKnownTypes.NullValue) input.ReadEnum(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class MixedRegularAndOptional : pb::IMessage<MixedRegularAndOptional> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<MixedRegularAndOptional> _parser = new pb::MessageParser<MixedRegularAndOptional>(() => new MixedRegularAndOptional()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<MixedRegularAndOptional> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[11]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public MixedRegularAndOptional() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public MixedRegularAndOptional(MixedRegularAndOptional other) : this() { | 
 |       regularField_ = other.regularField_; | 
 |       optionalField_ = other.optionalField_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public MixedRegularAndOptional Clone() { | 
 |       return new MixedRegularAndOptional(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "regular_field" field.</summary> | 
 |     public const int RegularFieldFieldNumber = 1; | 
 |     private string regularField_ = ""; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string RegularField { | 
 |       get { return regularField_; } | 
 |       set { | 
 |         regularField_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "optional_field" field.</summary> | 
 |     public const int OptionalFieldFieldNumber = 2; | 
 |     private readonly static string OptionalFieldDefaultValue = ""; | 
 |  | 
 |     private string optionalField_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string OptionalField { | 
 |       get { return optionalField_ ?? OptionalFieldDefaultValue; } | 
 |       set { | 
 |         optionalField_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "optional_field" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasOptionalField { | 
 |       get { return optionalField_ != null; } | 
 |     } | 
 |     /// <summary>Clears the value of the "optional_field" field</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearOptionalField() { | 
 |       optionalField_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as MixedRegularAndOptional); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(MixedRegularAndOptional other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (RegularField != other.RegularField) return false; | 
 |       if (OptionalField != other.OptionalField) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (RegularField.Length != 0) hash ^= RegularField.GetHashCode(); | 
 |       if (HasOptionalField) hash ^= OptionalField.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (RegularField.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(RegularField); | 
 |       } | 
 |       if (HasOptionalField) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(OptionalField); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (RegularField.Length != 0) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(RegularField); | 
 |       } | 
 |       if (HasOptionalField) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(OptionalField); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (RegularField.Length != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(RegularField); | 
 |       } | 
 |       if (HasOptionalField) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(OptionalField); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(MixedRegularAndOptional other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.RegularField.Length != 0) { | 
 |         RegularField = other.RegularField; | 
 |       } | 
 |       if (other.HasOptionalField) { | 
 |         OptionalField = other.OptionalField; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             RegularField = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             OptionalField = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             RegularField = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             OptionalField = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class OneofWithNoneField : pb::IMessage<OneofWithNoneField> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<OneofWithNoneField> _parser = new pb::MessageParser<OneofWithNoneField>(() => new OneofWithNoneField()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<OneofWithNoneField> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[12]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneField() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneField(OneofWithNoneField other) : this() { | 
 |       switch (other.TestCase) { | 
 |         case TestOneofCase.X: | 
 |           X = other.X; | 
 |           break; | 
 |         case TestOneofCase.None_: | 
 |           None = other.None; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneField Clone() { | 
 |       return new OneofWithNoneField(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "x" field.</summary> | 
 |     public const int XFieldNumber = 1; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string X { | 
 |       get { return HasX ? (string) test_ : ""; } | 
 |       set { | 
 |         test_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         testCase_ = TestOneofCase.X; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "x" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasX { | 
 |       get { return testCase_ == TestOneofCase.X; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "x" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearX() { | 
 |       if (HasX) { | 
 |         ClearTest(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "none" field.</summary> | 
 |     public const int NoneFieldNumber = 2; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string None { | 
 |       get { return HasNone ? (string) test_ : ""; } | 
 |       set { | 
 |         test_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         testCase_ = TestOneofCase.None_; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "none" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasNone { | 
 |       get { return testCase_ == TestOneofCase.None_; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "none" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearNone() { | 
 |       if (HasNone) { | 
 |         ClearTest(); | 
 |       } | 
 |     } | 
 |  | 
 |     private object test_; | 
 |     /// <summary>Enum of possible cases for the "test" oneof.</summary> | 
 |     public enum TestOneofCase { | 
 |       None = 0, | 
 |       X = 1, | 
 |       None_ = 2, | 
 |     } | 
 |     private TestOneofCase testCase_ = TestOneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public TestOneofCase TestCase { | 
 |       get { return testCase_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearTest() { | 
 |       testCase_ = TestOneofCase.None; | 
 |       test_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as OneofWithNoneField); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(OneofWithNoneField other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (X != other.X) return false; | 
 |       if (None != other.None) return false; | 
 |       if (TestCase != other.TestCase) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (HasX) hash ^= X.GetHashCode(); | 
 |       if (HasNone) hash ^= None.GetHashCode(); | 
 |       hash ^= (int) testCase_; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (HasX) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(X); | 
 |       } | 
 |       if (HasNone) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(None); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (HasX) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(X); | 
 |       } | 
 |       if (HasNone) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(None); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (HasX) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(X); | 
 |       } | 
 |       if (HasNone) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(None); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(OneofWithNoneField other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       switch (other.TestCase) { | 
 |         case TestOneofCase.X: | 
 |           X = other.X; | 
 |           break; | 
 |         case TestOneofCase.None_: | 
 |           None = other.None; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             X = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             None = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             X = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             None = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class OneofWithNoneName : pb::IMessage<OneofWithNoneName> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<OneofWithNoneName> _parser = new pb::MessageParser<OneofWithNoneName>(() => new OneofWithNoneName()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<OneofWithNoneName> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[13]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneName() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneName(OneofWithNoneName other) : this() { | 
 |       switch (other.NoneCase) { | 
 |         case NoneOneofCase.X: | 
 |           X = other.X; | 
 |           break; | 
 |         case NoneOneofCase.Y: | 
 |           Y = other.Y; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public OneofWithNoneName Clone() { | 
 |       return new OneofWithNoneName(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "x" field.</summary> | 
 |     public const int XFieldNumber = 1; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string X { | 
 |       get { return HasX ? (string) none_ : ""; } | 
 |       set { | 
 |         none_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         noneCase_ = NoneOneofCase.X; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "x" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasX { | 
 |       get { return noneCase_ == NoneOneofCase.X; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "x" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearX() { | 
 |       if (HasX) { | 
 |         ClearNone(); | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "y" field.</summary> | 
 |     public const int YFieldNumber = 2; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public string Y { | 
 |       get { return HasY ? (string) none_ : ""; } | 
 |       set { | 
 |         none_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
 |         noneCase_ = NoneOneofCase.Y; | 
 |       } | 
 |     } | 
 |     /// <summary>Gets whether the "y" field is set</summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool HasY { | 
 |       get { return noneCase_ == NoneOneofCase.Y; } | 
 |     } | 
 |     /// <summary> Clears the value of the oneof if it's currently set to "y" </summary> | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearY() { | 
 |       if (HasY) { | 
 |         ClearNone(); | 
 |       } | 
 |     } | 
 |  | 
 |     private object none_; | 
 |     /// <summary>Enum of possible cases for the "none" oneof.</summary> | 
 |     public enum NoneOneofCase { | 
 |       None = 0, | 
 |       X = 1, | 
 |       Y = 2, | 
 |     } | 
 |     private NoneOneofCase noneCase_ = NoneOneofCase.None; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public NoneOneofCase NoneCase { | 
 |       get { return noneCase_; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void ClearNone() { | 
 |       noneCase_ = NoneOneofCase.None; | 
 |       none_ = null; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as OneofWithNoneName); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(OneofWithNoneName other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (X != other.X) return false; | 
 |       if (Y != other.Y) return false; | 
 |       if (NoneCase != other.NoneCase) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (HasX) hash ^= X.GetHashCode(); | 
 |       if (HasY) hash ^= Y.GetHashCode(); | 
 |       hash ^= (int) noneCase_; | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (HasX) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(X); | 
 |       } | 
 |       if (HasY) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(Y); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (HasX) { | 
 |         output.WriteRawTag(10); | 
 |         output.WriteString(X); | 
 |       } | 
 |       if (HasY) { | 
 |         output.WriteRawTag(18); | 
 |         output.WriteString(Y); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (HasX) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(X); | 
 |       } | 
 |       if (HasY) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeStringSize(Y); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(OneofWithNoneName other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       switch (other.NoneCase) { | 
 |         case NoneOneofCase.X: | 
 |           X = other.X; | 
 |           break; | 
 |         case NoneOneofCase.Y: | 
 |           Y = other.Y; | 
 |           break; | 
 |       } | 
 |  | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 10: { | 
 |             X = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             Y = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 10: { | 
 |             X = input.ReadString(); | 
 |             break; | 
 |           } | 
 |           case 18: { | 
 |             Y = input.ReadString(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   /// <summary> | 
 |   /// Issue 8810 | 
 |   /// </summary> | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class DisambiguateCommonMembers : pb::IMessage<DisambiguateCommonMembers> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<DisambiguateCommonMembers> _parser = new pb::MessageParser<DisambiguateCommonMembers>(() => new DisambiguateCommonMembers()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<DisambiguateCommonMembers> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[14]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DisambiguateCommonMembers() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DisambiguateCommonMembers(DisambiguateCommonMembers other) : this() { | 
 |       disambiguateCommonMembers_ = other.disambiguateCommonMembers_; | 
 |       types_ = other.types_; | 
 |       descriptor_ = other.descriptor_; | 
 |       equals_ = other.equals_; | 
 |       toString_ = other.toString_; | 
 |       getHashCode_ = other.getHashCode_; | 
 |       writeTo_ = other.writeTo_; | 
 |       clone_ = other.clone_; | 
 |       calculateSize_ = other.calculateSize_; | 
 |       mergeFrom_ = other.mergeFrom_; | 
 |       onConstruction_ = other.onConstruction_; | 
 |       parser_ = other.parser_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public DisambiguateCommonMembers Clone() { | 
 |       return new DisambiguateCommonMembers(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "disambiguate_common_members" field.</summary> | 
 |     public const int DisambiguateCommonMembers_FieldNumber = 1; | 
 |     private int disambiguateCommonMembers_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int DisambiguateCommonMembers_ { | 
 |       get { return disambiguateCommonMembers_; } | 
 |       set { | 
 |         disambiguateCommonMembers_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "types" field.</summary> | 
 |     public const int Types_FieldNumber = 2; | 
 |     private int types_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Types_ { | 
 |       get { return types_; } | 
 |       set { | 
 |         types_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "descriptor" field.</summary> | 
 |     public const int Descriptor_FieldNumber = 3; | 
 |     private int descriptor_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Descriptor_ { | 
 |       get { return descriptor_; } | 
 |       set { | 
 |         descriptor_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "equals" field.</summary> | 
 |     public const int Equals_FieldNumber = 4; | 
 |     private int equals_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Equals_ { | 
 |       get { return equals_; } | 
 |       set { | 
 |         equals_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "to_string" field.</summary> | 
 |     public const int ToString_FieldNumber = 5; | 
 |     private int toString_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int ToString_ { | 
 |       get { return toString_; } | 
 |       set { | 
 |         toString_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "get_hash_code" field.</summary> | 
 |     public const int GetHashCode_FieldNumber = 6; | 
 |     private int getHashCode_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int GetHashCode_ { | 
 |       get { return getHashCode_; } | 
 |       set { | 
 |         getHashCode_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "write_to" field.</summary> | 
 |     public const int WriteTo_FieldNumber = 7; | 
 |     private int writeTo_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int WriteTo_ { | 
 |       get { return writeTo_; } | 
 |       set { | 
 |         writeTo_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "clone" field.</summary> | 
 |     public const int Clone_FieldNumber = 8; | 
 |     private int clone_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Clone_ { | 
 |       get { return clone_; } | 
 |       set { | 
 |         clone_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "calculate_size" field.</summary> | 
 |     public const int CalculateSize_FieldNumber = 9; | 
 |     private int calculateSize_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize_ { | 
 |       get { return calculateSize_; } | 
 |       set { | 
 |         calculateSize_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "merge_from" field.</summary> | 
 |     public const int MergeFrom_FieldNumber = 10; | 
 |     private int mergeFrom_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int MergeFrom_ { | 
 |       get { return mergeFrom_; } | 
 |       set { | 
 |         mergeFrom_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "on_construction" field.</summary> | 
 |     public const int OnConstruction_FieldNumber = 11; | 
 |     private int onConstruction_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int OnConstruction_ { | 
 |       get { return onConstruction_; } | 
 |       set { | 
 |         onConstruction_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "parser" field.</summary> | 
 |     public const int Parser_FieldNumber = 12; | 
 |     private int parser_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int Parser_ { | 
 |       get { return parser_; } | 
 |       set { | 
 |         parser_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as DisambiguateCommonMembers); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(DisambiguateCommonMembers other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (DisambiguateCommonMembers_ != other.DisambiguateCommonMembers_) return false; | 
 |       if (Types_ != other.Types_) return false; | 
 |       if (Descriptor_ != other.Descriptor_) return false; | 
 |       if (Equals_ != other.Equals_) return false; | 
 |       if (ToString_ != other.ToString_) return false; | 
 |       if (GetHashCode_ != other.GetHashCode_) return false; | 
 |       if (WriteTo_ != other.WriteTo_) return false; | 
 |       if (Clone_ != other.Clone_) return false; | 
 |       if (CalculateSize_ != other.CalculateSize_) return false; | 
 |       if (MergeFrom_ != other.MergeFrom_) return false; | 
 |       if (OnConstruction_ != other.OnConstruction_) return false; | 
 |       if (Parser_ != other.Parser_) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (DisambiguateCommonMembers_ != 0) hash ^= DisambiguateCommonMembers_.GetHashCode(); | 
 |       if (Types_ != 0) hash ^= Types_.GetHashCode(); | 
 |       if (Descriptor_ != 0) hash ^= Descriptor_.GetHashCode(); | 
 |       if (Equals_ != 0) hash ^= Equals_.GetHashCode(); | 
 |       if (ToString_ != 0) hash ^= ToString_.GetHashCode(); | 
 |       if (GetHashCode_ != 0) hash ^= GetHashCode_.GetHashCode(); | 
 |       if (WriteTo_ != 0) hash ^= WriteTo_.GetHashCode(); | 
 |       if (Clone_ != 0) hash ^= Clone_.GetHashCode(); | 
 |       if (CalculateSize_ != 0) hash ^= CalculateSize_.GetHashCode(); | 
 |       if (MergeFrom_ != 0) hash ^= MergeFrom_.GetHashCode(); | 
 |       if (OnConstruction_ != 0) hash ^= OnConstruction_.GetHashCode(); | 
 |       if (Parser_ != 0) hash ^= Parser_.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (DisambiguateCommonMembers_ != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(DisambiguateCommonMembers_); | 
 |       } | 
 |       if (Types_ != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         output.WriteRawTag(24); | 
 |         output.WriteInt32(Descriptor_); | 
 |       } | 
 |       if (Equals_ != 0) { | 
 |         output.WriteRawTag(32); | 
 |         output.WriteInt32(Equals_); | 
 |       } | 
 |       if (ToString_ != 0) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteInt32(ToString_); | 
 |       } | 
 |       if (GetHashCode_ != 0) { | 
 |         output.WriteRawTag(48); | 
 |         output.WriteInt32(GetHashCode_); | 
 |       } | 
 |       if (WriteTo_ != 0) { | 
 |         output.WriteRawTag(56); | 
 |         output.WriteInt32(WriteTo_); | 
 |       } | 
 |       if (Clone_ != 0) { | 
 |         output.WriteRawTag(64); | 
 |         output.WriteInt32(Clone_); | 
 |       } | 
 |       if (CalculateSize_ != 0) { | 
 |         output.WriteRawTag(72); | 
 |         output.WriteInt32(CalculateSize_); | 
 |       } | 
 |       if (MergeFrom_ != 0) { | 
 |         output.WriteRawTag(80); | 
 |         output.WriteInt32(MergeFrom_); | 
 |       } | 
 |       if (OnConstruction_ != 0) { | 
 |         output.WriteRawTag(88); | 
 |         output.WriteInt32(OnConstruction_); | 
 |       } | 
 |       if (Parser_ != 0) { | 
 |         output.WriteRawTag(96); | 
 |         output.WriteInt32(Parser_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (DisambiguateCommonMembers_ != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(DisambiguateCommonMembers_); | 
 |       } | 
 |       if (Types_ != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         output.WriteRawTag(24); | 
 |         output.WriteInt32(Descriptor_); | 
 |       } | 
 |       if (Equals_ != 0) { | 
 |         output.WriteRawTag(32); | 
 |         output.WriteInt32(Equals_); | 
 |       } | 
 |       if (ToString_ != 0) { | 
 |         output.WriteRawTag(40); | 
 |         output.WriteInt32(ToString_); | 
 |       } | 
 |       if (GetHashCode_ != 0) { | 
 |         output.WriteRawTag(48); | 
 |         output.WriteInt32(GetHashCode_); | 
 |       } | 
 |       if (WriteTo_ != 0) { | 
 |         output.WriteRawTag(56); | 
 |         output.WriteInt32(WriteTo_); | 
 |       } | 
 |       if (Clone_ != 0) { | 
 |         output.WriteRawTag(64); | 
 |         output.WriteInt32(Clone_); | 
 |       } | 
 |       if (CalculateSize_ != 0) { | 
 |         output.WriteRawTag(72); | 
 |         output.WriteInt32(CalculateSize_); | 
 |       } | 
 |       if (MergeFrom_ != 0) { | 
 |         output.WriteRawTag(80); | 
 |         output.WriteInt32(MergeFrom_); | 
 |       } | 
 |       if (OnConstruction_ != 0) { | 
 |         output.WriteRawTag(88); | 
 |         output.WriteInt32(OnConstruction_); | 
 |       } | 
 |       if (Parser_ != 0) { | 
 |         output.WriteRawTag(96); | 
 |         output.WriteInt32(Parser_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (DisambiguateCommonMembers_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(DisambiguateCommonMembers_); | 
 |       } | 
 |       if (Types_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Types_); | 
 |       } | 
 |       if (Descriptor_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Descriptor_); | 
 |       } | 
 |       if (Equals_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Equals_); | 
 |       } | 
 |       if (ToString_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToString_); | 
 |       } | 
 |       if (GetHashCode_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(GetHashCode_); | 
 |       } | 
 |       if (WriteTo_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(WriteTo_); | 
 |       } | 
 |       if (Clone_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Clone_); | 
 |       } | 
 |       if (CalculateSize_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(CalculateSize_); | 
 |       } | 
 |       if (MergeFrom_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(MergeFrom_); | 
 |       } | 
 |       if (OnConstruction_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(OnConstruction_); | 
 |       } | 
 |       if (Parser_ != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(Parser_); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(DisambiguateCommonMembers other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.DisambiguateCommonMembers_ != 0) { | 
 |         DisambiguateCommonMembers_ = other.DisambiguateCommonMembers_; | 
 |       } | 
 |       if (other.Types_ != 0) { | 
 |         Types_ = other.Types_; | 
 |       } | 
 |       if (other.Descriptor_ != 0) { | 
 |         Descriptor_ = other.Descriptor_; | 
 |       } | 
 |       if (other.Equals_ != 0) { | 
 |         Equals_ = other.Equals_; | 
 |       } | 
 |       if (other.ToString_ != 0) { | 
 |         ToString_ = other.ToString_; | 
 |       } | 
 |       if (other.GetHashCode_ != 0) { | 
 |         GetHashCode_ = other.GetHashCode_; | 
 |       } | 
 |       if (other.WriteTo_ != 0) { | 
 |         WriteTo_ = other.WriteTo_; | 
 |       } | 
 |       if (other.Clone_ != 0) { | 
 |         Clone_ = other.Clone_; | 
 |       } | 
 |       if (other.CalculateSize_ != 0) { | 
 |         CalculateSize_ = other.CalculateSize_; | 
 |       } | 
 |       if (other.MergeFrom_ != 0) { | 
 |         MergeFrom_ = other.MergeFrom_; | 
 |       } | 
 |       if (other.OnConstruction_ != 0) { | 
 |         OnConstruction_ = other.OnConstruction_; | 
 |       } | 
 |       if (other.Parser_ != 0) { | 
 |         Parser_ = other.Parser_; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             DisambiguateCommonMembers_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             Types_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 24: { | 
 |             Descriptor_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 32: { | 
 |             Equals_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             ToString_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 48: { | 
 |             GetHashCode_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 56: { | 
 |             WriteTo_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 64: { | 
 |             Clone_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 72: { | 
 |             CalculateSize_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 80: { | 
 |             MergeFrom_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 88: { | 
 |             OnConstruction_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 96: { | 
 |             Parser_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             DisambiguateCommonMembers_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             Types_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 24: { | 
 |             Descriptor_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 32: { | 
 |             Equals_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 40: { | 
 |             ToString_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 48: { | 
 |             GetHashCode_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 56: { | 
 |             WriteTo_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 64: { | 
 |             Clone_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 72: { | 
 |             CalculateSize_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 80: { | 
 |             MergeFrom_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 88: { | 
 |             OnConstruction_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 96: { | 
 |             Parser_ = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
 |   public sealed partial class Issue11987Message : pb::IMessage<Issue11987Message> | 
 |   #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       , pb::IBufferMessage | 
 |   #endif | 
 |   { | 
 |     private static readonly pb::MessageParser<Issue11987Message> _parser = new pb::MessageParser<Issue11987Message>(() => new Issue11987Message()); | 
 |     private pb::UnknownFieldSet _unknownFields; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pb::MessageParser<Issue11987Message> Parser { get { return _parser; } } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public static pbr::MessageDescriptor Descriptor { | 
 |       get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[15]; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     pbr::MessageDescriptor pb::IMessage.Descriptor { | 
 |       get { return Descriptor; } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue11987Message() { | 
 |       OnConstruction(); | 
 |     } | 
 |  | 
 |     partial void OnConstruction(); | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue11987Message(Issue11987Message other) : this() { | 
 |       a_ = other.a_; | 
 |       b_ = other.b_; | 
 |       c_ = other.c_; | 
 |       _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public Issue11987Message Clone() { | 
 |       return new Issue11987Message(this); | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "a" field.</summary> | 
 |     public const int AFieldNumber = 1; | 
 |     private int a_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int A { | 
 |       get { return a_; } | 
 |       set { | 
 |         a_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "b" field.</summary> | 
 |     public const int BFieldNumber = 2; | 
 |     private int b_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int B { | 
 |       get { return b_; } | 
 |       set { | 
 |         b_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     /// <summary>Field number for the "c" field.</summary> | 
 |     public const int CFieldNumber = 3; | 
 |     private int c_; | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int C { | 
 |       get { return c_; } | 
 |       set { | 
 |         c_ = value; | 
 |       } | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override bool Equals(object other) { | 
 |       return Equals(other as Issue11987Message); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public bool Equals(Issue11987Message other) { | 
 |       if (ReferenceEquals(other, null)) { | 
 |         return false; | 
 |       } | 
 |       if (ReferenceEquals(other, this)) { | 
 |         return true; | 
 |       } | 
 |       if (A != other.A) return false; | 
 |       if (B != other.B) return false; | 
 |       if (C != other.C) return false; | 
 |       return Equals(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override int GetHashCode() { | 
 |       int hash = 1; | 
 |       if (A != 0) hash ^= A.GetHashCode(); | 
 |       if (B != 0) hash ^= B.GetHashCode(); | 
 |       if (C != 0) hash ^= C.GetHashCode(); | 
 |       if (_unknownFields != null) { | 
 |         hash ^= _unknownFields.GetHashCode(); | 
 |       } | 
 |       return hash; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public override string ToString() { | 
 |       return pb::JsonFormatter.ToDiagnosticString(this); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void WriteTo(pb::CodedOutputStream output) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       output.WriteRawMessage(this); | 
 |     #else | 
 |       if (A != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(A); | 
 |       } | 
 |       if (B != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(B); | 
 |       } | 
 |       if (C != 0) { | 
 |         output.WriteRawTag(24); | 
 |         output.WriteInt32(C); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(output); | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
 |       if (A != 0) { | 
 |         output.WriteRawTag(8); | 
 |         output.WriteInt32(A); | 
 |       } | 
 |       if (B != 0) { | 
 |         output.WriteRawTag(16); | 
 |         output.WriteInt32(B); | 
 |       } | 
 |       if (C != 0) { | 
 |         output.WriteRawTag(24); | 
 |         output.WriteInt32(C); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         _unknownFields.WriteTo(ref output); | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public int CalculateSize() { | 
 |       int size = 0; | 
 |       if (A != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(A); | 
 |       } | 
 |       if (B != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(B); | 
 |       } | 
 |       if (C != 0) { | 
 |         size += 1 + pb::CodedOutputStream.ComputeInt32Size(C); | 
 |       } | 
 |       if (_unknownFields != null) { | 
 |         size += _unknownFields.CalculateSize(); | 
 |       } | 
 |       return size; | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(Issue11987Message other) { | 
 |       if (other == null) { | 
 |         return; | 
 |       } | 
 |       if (other.A != 0) { | 
 |         A = other.A; | 
 |       } | 
 |       if (other.B != 0) { | 
 |         B = other.B; | 
 |       } | 
 |       if (other.C != 0) { | 
 |         C = other.C; | 
 |       } | 
 |       _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
 |     } | 
 |  | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     public void MergeFrom(pb::CodedInputStream input) { | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |       input.ReadRawMessage(this); | 
 |     #else | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
 |             break; | 
 |           case 8: { | 
 |             A = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             B = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 24: { | 
 |             C = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     #endif | 
 |     } | 
 |  | 
 |     #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
 |     [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
 |     [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
 |     void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
 |       uint tag; | 
 |       while ((tag = input.ReadTag()) != 0) { | 
 |       if ((tag & 7) == 4) { | 
 |         // Abort on any end group tag. | 
 |         return; | 
 |       } | 
 |       switch(tag) { | 
 |           default: | 
 |             _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
 |             break; | 
 |           case 8: { | 
 |             A = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 16: { | 
 |             B = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |           case 24: { | 
 |             C = input.ReadInt32(); | 
 |             break; | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |     #endif | 
 |  | 
 |   } | 
 |  | 
 |   #endregion | 
 |  | 
 | } | 
 |  | 
 | #endregion Designer generated code |