Completed adding attributes to all generated types
diff --git a/src/AddressBook/AddressBookProtos.cs b/src/AddressBook/AddressBookProtos.cs
index 7906a47..e544e4c 100644
--- a/src/AddressBook/AddressBookProtos.cs
+++ b/src/AddressBook/AddressBookProtos.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.Examples.AddressBook {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class AddressBookProtos {

   

     #region Extension registration

@@ -66,6 +69,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class Person : pb::GeneratedMessage<Person, Person.Builder> {

     private static readonly Person defaultInstance = new Builder().BuildPartial();

     public static Person DefaultInstance {

@@ -89,13 +95,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum PhoneType {

         MOBILE = 0,

         HOME = 1,

         WORK = 2,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class PhoneNumber : pb::GeneratedMessage<PhoneNumber, PhoneNumber.Builder> {

         private static readonly PhoneNumber defaultInstance = new Builder().BuildPartial();

         public static PhoneNumber DefaultInstance {

@@ -212,6 +226,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<PhoneNumber, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -497,6 +514,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<Person, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -713,6 +733,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class AddressBook : pb::GeneratedMessage<AddressBook, AddressBook.Builder> {

     private static readonly AddressBook defaultInstance = new Builder().BuildPartial();

     public static AddressBook DefaultInstance {

@@ -817,6 +840,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<AddressBook, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtoGen/EnumGenerator.cs b/src/ProtoGen/EnumGenerator.cs
index c101334..f1ddcbc 100644
--- a/src/ProtoGen/EnumGenerator.cs
+++ b/src/ProtoGen/EnumGenerator.cs
@@ -47,6 +47,8 @@
         // TODO(jonskeet): Write out enum descriptors? Can be retrieved from file...

         public void Generate(TextGenerator writer)

         {

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} enum {1} {{", ClassAccessLevel, Descriptor.Name);

             writer.Indent();

             foreach (EnumValueDescriptor value in Descriptor.Values)

diff --git a/src/ProtoGen/MessageGenerator.cs b/src/ProtoGen/MessageGenerator.cs
index 9eff86c..7eded00 100644
--- a/src/ProtoGen/MessageGenerator.cs
+++ b/src/ProtoGen/MessageGenerator.cs
@@ -138,6 +138,9 @@
 

         public void Generate(TextGenerator writer)

         {

+            writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} sealed partial class {1} : pb::{2}Message{3}<{1}, {1}.Builder> {{",

                              ClassAccessLevel, ClassName,

                              Descriptor.Proto.ExtensionRangeCount > 0 ? "Extendable" : "Generated",

@@ -181,6 +184,9 @@
             if (Descriptor.EnumTypes.Count + Descriptor.NestedTypes.Count > 0)

             {

                 writer.WriteLine("#region Nested types");

+                writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+                writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+                writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

                 writer.WriteLine("public static class Types {");

                 writer.Indent();

                 WriteChildren(writer, null, Descriptor.EnumTypes);

@@ -484,6 +490,9 @@
             writer.WriteLine("  return (Builder) new Builder().MergeFrom(prototype);");

             writer.WriteLine("}");

             writer.WriteLine();

+            writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} sealed partial class Builder : pb::{2}Builder{3}<{1}, Builder> {{",

                              ClassAccessLevel, ClassName,

                              Descriptor.Proto.ExtensionRangeCount > 0 ? "Extendable" : "Generated", RuntimeSuffix);

diff --git a/src/ProtoGen/ServiceGenerator.cs b/src/ProtoGen/ServiceGenerator.cs
index baeee4f..2c3e616 100644
--- a/src/ProtoGen/ServiceGenerator.cs
+++ b/src/ProtoGen/ServiceGenerator.cs
@@ -53,6 +53,9 @@
 

         public void Generate(TextGenerator writer)

         {

+            writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} abstract class {1} : pb::IService {{", ClassAccessLevel, Descriptor.Name);

             writer.Indent();

 

@@ -151,6 +154,9 @@
             writer.WriteLine("  return new Stub(channel);");

             writer.WriteLine("}");

             writer.WriteLine();

+            writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} class Stub : {1} {{", ClassAccessLevel, GetClassName(Descriptor));

             writer.Indent();

             writer.WriteLine("internal Stub(pb::IRpcChannel channel) {");

diff --git a/src/ProtoGen/ServiceInterfaceGenerator.cs b/src/ProtoGen/ServiceInterfaceGenerator.cs
index 698b701..a2df74d 100644
--- a/src/ProtoGen/ServiceInterfaceGenerator.cs
+++ b/src/ProtoGen/ServiceInterfaceGenerator.cs
@@ -105,6 +105,8 @@
                     writer.WriteLine("[global::System.Runtime.InteropServices.GuidAttribute(\"{0}\")]",

                                      new Guid(options.InterfaceId));

                 }

+                writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+                writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

                 writer.WriteLine("{0} partial interface I{1} {{", ClassAccessLevel, Descriptor.Name);

                 writer.Indent();

 

@@ -142,6 +144,9 @@
                 {

                     if (Descriptor.File.CSharpOptions.ClsCompliance)

                         writer.WriteLine("[global::System.CLSCompliant(false)]");

+                    writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+                    writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+                    writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

                     writer.WriteLine("{0} partial class {1} : I{1}, pb::IRpcDispatch, global::System.IDisposable {{",

                                      ClassAccessLevel, Descriptor.Name);

                     writer.Indent();

@@ -186,6 +191,9 @@
                 {

                     if (Descriptor.File.CSharpOptions.ClsCompliance)

                         writer.WriteLine("[global::System.CLSCompliant(false)]");

+                    writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+                    writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+                    writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

                     writer.WriteLine("public partial class Dispatch : pb::IRpcDispatch, global::System.IDisposable {");

                     writer.Indent();

                     writer.WriteLine("private readonly bool dispose;");

@@ -234,6 +242,9 @@
                 {

                     if (Descriptor.File.CSharpOptions.ClsCompliance)

                         writer.WriteLine("[global::System.CLSCompliant(false)]");

+                    writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+                    writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+                    writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

                     writer.WriteLine(

                         "public partial class ServerStub : pb::IRpcServerStub, global::System.IDisposable {");

                     writer.Indent();

diff --git a/src/ProtoGen/UmbrellaClassGenerator.cs b/src/ProtoGen/UmbrellaClassGenerator.cs
index 4e5f8ae..36a9e4c 100644
--- a/src/ProtoGen/UmbrellaClassGenerator.cs
+++ b/src/ProtoGen/UmbrellaClassGenerator.cs
@@ -161,6 +161,9 @@
             {

                 writer.WriteLine("[global::System.Diagnostics.Contracts.ContractVerificationAttribute(false)]");

             }

+            writer.WriteLine("[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]");

+            writer.WriteLine("[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]");

+            writer.WriteLine("[global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"{0}\", \"{1}\")]", GetType().Assembly.GetName().Name, GetType().Assembly.GetName().Version);

             writer.WriteLine("{0} static partial class {1} {{", ClassAccessLevel,

                              Descriptor.CSharpOptions.UmbrellaClassname);

             writer.WriteLine();

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
index 96f8460..1e76d82 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCSharpOptionsProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestCSharpOptionsProtoFile {

   

     #region Extension registration

@@ -51,6 +54,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OptionsMessage : pb::GeneratedMessage<OptionsMessage, OptionsMessage.Builder> {

     private static readonly OptionsMessage defaultInstance = new Builder().BuildPartial();

     public static OptionsMessage DefaultInstance {

@@ -182,6 +188,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OptionsMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
index 023ca79..157286c 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestCustomOptionsProtoFile {

   

     #region Extension registration

@@ -381,6 +384,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum MethodOpt1 {

     METHODOPT1_VAL1 = 1,

     METHODOPT1_VAL2 = 2,

@@ -389,6 +394,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessageWithCustomOptions : pb::GeneratedMessage<TestMessageWithCustomOptions, TestMessageWithCustomOptions.Builder> {

     private static readonly TestMessageWithCustomOptions defaultInstance = new Builder().BuildPartial();

     public static TestMessageWithCustomOptions DefaultInstance {

@@ -412,7 +420,12 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum AnEnum {

         ANENUM_VAL1 = 1,

         ANENUM_VAL2 = 2,

@@ -498,6 +511,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageWithCustomOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -615,6 +631,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CustomOptionFooRequest : pb::GeneratedMessage<CustomOptionFooRequest, CustomOptionFooRequest.Builder> {

     private static readonly CustomOptionFooRequest defaultInstance = new Builder().BuildPartial();

     public static CustomOptionFooRequest DefaultInstance {

@@ -698,6 +717,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionFooRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -789,6 +811,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CustomOptionFooResponse : pb::GeneratedMessage<CustomOptionFooResponse, CustomOptionFooResponse.Builder> {

     private static readonly CustomOptionFooResponse defaultInstance = new Builder().BuildPartial();

     public static CustomOptionFooResponse DefaultInstance {

@@ -872,6 +897,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionFooResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -963,6 +991,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class DummyMessageContainingEnum : pb::GeneratedMessage<DummyMessageContainingEnum, DummyMessageContainingEnum.Builder> {

     private static readonly DummyMessageContainingEnum defaultInstance = new Builder().BuildPartial();

     public static DummyMessageContainingEnum DefaultInstance {

@@ -986,7 +1017,12 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum TestEnumType {

         TEST_OPTION_ENUM_TYPE1 = 22,

         TEST_OPTION_ENUM_TYPE2 = -23,

@@ -1056,6 +1092,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<DummyMessageContainingEnum, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1147,6 +1186,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class DummyMessageInvalidAsOptionType : pb::GeneratedMessage<DummyMessageInvalidAsOptionType, DummyMessageInvalidAsOptionType.Builder> {

     private static readonly DummyMessageInvalidAsOptionType defaultInstance = new Builder().BuildPartial();

     public static DummyMessageInvalidAsOptionType DefaultInstance {

@@ -1230,6 +1272,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<DummyMessageInvalidAsOptionType, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1321,6 +1366,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CustomOptionMinIntegerValues : pb::GeneratedMessage<CustomOptionMinIntegerValues, CustomOptionMinIntegerValues.Builder> {

     private static readonly CustomOptionMinIntegerValues defaultInstance = new Builder().BuildPartial();

     public static CustomOptionMinIntegerValues DefaultInstance {

@@ -1404,6 +1452,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionMinIntegerValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1495,6 +1546,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CustomOptionMaxIntegerValues : pb::GeneratedMessage<CustomOptionMaxIntegerValues, CustomOptionMaxIntegerValues.Builder> {

     private static readonly CustomOptionMaxIntegerValues defaultInstance = new Builder().BuildPartial();

     public static CustomOptionMaxIntegerValues DefaultInstance {

@@ -1578,6 +1632,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionMaxIntegerValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1669,6 +1726,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CustomOptionOtherValues : pb::GeneratedMessage<CustomOptionOtherValues, CustomOptionOtherValues.Builder> {

     private static readonly CustomOptionOtherValues defaultInstance = new Builder().BuildPartial();

     public static CustomOptionOtherValues DefaultInstance {

@@ -1752,6 +1812,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CustomOptionOtherValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1843,6 +1906,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class SettingRealsFromPositiveInts : pb::GeneratedMessage<SettingRealsFromPositiveInts, SettingRealsFromPositiveInts.Builder> {

     private static readonly SettingRealsFromPositiveInts defaultInstance = new Builder().BuildPartial();

     public static SettingRealsFromPositiveInts DefaultInstance {

@@ -1926,6 +1992,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<SettingRealsFromPositiveInts, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2017,6 +2086,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class SettingRealsFromNegativeInts : pb::GeneratedMessage<SettingRealsFromNegativeInts, SettingRealsFromNegativeInts.Builder> {

     private static readonly SettingRealsFromNegativeInts defaultInstance = new Builder().BuildPartial();

     public static SettingRealsFromNegativeInts DefaultInstance {

@@ -2100,6 +2172,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<SettingRealsFromNegativeInts, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2191,6 +2266,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ComplexOptionType1 : pb::ExtendableMessage<ComplexOptionType1, ComplexOptionType1.Builder> {

     private static readonly ComplexOptionType1 defaultInstance = new Builder().BuildPartial();

     public static ComplexOptionType1 DefaultInstance {

@@ -2326,6 +2404,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<ComplexOptionType1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2493,6 +2574,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ComplexOptionType2 : pb::ExtendableMessage<ComplexOptionType2, ComplexOptionType2.Builder> {

     private static readonly ComplexOptionType2 defaultInstance = new Builder().BuildPartial();

     public static ComplexOptionType2 DefaultInstance {

@@ -2516,7 +2600,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class ComplexOptionType4 : pb::GeneratedMessage<ComplexOptionType4, ComplexOptionType4.Builder> {

         private static readonly ComplexOptionType4 defaultInstance = new Builder().BuildPartial();

         public static ComplexOptionType4 DefaultInstance {

@@ -2618,6 +2708,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType4, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -2853,6 +2946,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<ComplexOptionType2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3066,6 +3162,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ComplexOptionType3 : pb::GeneratedMessage<ComplexOptionType3, ComplexOptionType3.Builder> {

     private static readonly ComplexOptionType3 defaultInstance = new Builder().BuildPartial();

     public static ComplexOptionType3 DefaultInstance {

@@ -3089,7 +3188,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class ComplexOptionType5 : pb::GeneratedMessage<ComplexOptionType5, ComplexOptionType5.Builder> {

         private static readonly ComplexOptionType5 defaultInstance = new Builder().BuildPartial();

         public static ComplexOptionType5 DefaultInstance {

@@ -3189,6 +3294,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType5, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3401,6 +3509,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ComplexOptionType3, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3565,6 +3676,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ComplexOpt6 : pb::GeneratedMessage<ComplexOpt6, ComplexOpt6.Builder> {

     private static readonly ComplexOpt6 defaultInstance = new Builder().BuildPartial();

     public static ComplexOpt6 DefaultInstance {

@@ -3664,6 +3778,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ComplexOpt6, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3780,6 +3897,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class VariousComplexOptions : pb::GeneratedMessage<VariousComplexOptions, VariousComplexOptions.Builder> {

     private static readonly VariousComplexOptions defaultInstance = new Builder().BuildPartial();

     public static VariousComplexOptions DefaultInstance {

@@ -3863,6 +3983,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<VariousComplexOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
index 0527095..8a56c8e 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestEmbedOptimizeForProtoFile {

   

     #region Extension registration

@@ -55,6 +58,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestEmbedOptimizedForSize : pb::GeneratedMessage<TestEmbedOptimizedForSize, TestEmbedOptimizedForSize.Builder> {

     private static readonly TestEmbedOptimizedForSize defaultInstance = new Builder().BuildPartial();

     public static TestEmbedOptimizedForSize DefaultInstance {

@@ -178,6 +184,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestEmbedOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
index 343dde2..7ed2979 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestEmptyProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestEmptyProtoFile {

   

     #region Extension registration

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
index d1aab57..2792648 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestGenericServices {

   

     #region Extension registration

@@ -55,6 +58,9 @@
     

   }

   #region Services

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public abstract class TestGenericService : pb::IService {

     public abstract void Foo(

         pb::IRpcController controller,

@@ -131,6 +137,9 @@
       return new Stub(channel);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericService {

       internal Stub(pb::IRpcChannel channel) {

         this.channel = channel;

@@ -161,6 +170,9 @@
       }

     }

   }

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public abstract class TestGenericServiceWithCustomOptions : pb::IService {

     public abstract void Foo(

         pb::IRpcController controller,

@@ -224,6 +236,9 @@
       return new Stub(channel);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericServiceWithCustomOptions {

       internal Stub(pb::IRpcChannel channel) {

         this.channel = channel;

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
index 1769859..f06354a 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportLiteProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestImportLiteProtoFile {

   

     #region Extension registration

@@ -23,6 +26,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ImportEnumLite {

     IMPORT_LITE_FOO = 7,

     IMPORT_LITE_BAR = 8,

@@ -32,6 +37,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ImportMessageLite : pb::GeneratedMessageLite<ImportMessageLite, ImportMessageLite.Builder> {

     private static readonly ImportMessageLite defaultInstance = new Builder().BuildPartial();

     public static ImportMessageLite DefaultInstance {

@@ -140,6 +148,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<ImportMessageLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
index 827e651..f7ca0d2 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestImportProtoFile {

   

     #region Extension registration

@@ -51,6 +54,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ImportEnum {

     IMPORT_FOO = 7,

     IMPORT_BAR = 8,

@@ -60,6 +65,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ImportMessage : pb::GeneratedMessage<ImportMessage, ImportMessage.Builder> {

     private static readonly ImportMessage defaultInstance = new Builder().BuildPartial();

     public static ImportMessage DefaultInstance {

@@ -159,6 +167,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ImportMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
index e8b0a0d..ea4864a 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestMessageSetProtoFile {

   

     #region Extension registration

@@ -94,6 +97,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessageSet : pb::ExtendableMessage<TestMessageSet, TestMessageSet.Builder> {

     private static readonly TestMessageSet defaultInstance = new Builder().BuildPartial();

     public static TestMessageSet DefaultInstance {

@@ -181,6 +187,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMessageSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -273,6 +282,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessageSetContainer : pb::GeneratedMessage<TestMessageSetContainer, TestMessageSetContainer.Builder> {

     private static readonly TestMessageSetContainer defaultInstance = new Builder().BuildPartial();

     public static TestMessageSetContainer DefaultInstance {

@@ -372,6 +384,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetContainer, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -511,6 +526,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessageSetExtension1 : pb::GeneratedMessage<TestMessageSetExtension1, TestMessageSetExtension1.Builder> {

     private static readonly TestMessageSetExtension1 defaultInstance = new Builder().BuildPartial();

     public static TestMessageSetExtension1 DefaultInstance {

@@ -612,6 +630,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetExtension1, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -728,6 +749,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessageSetExtension2 : pb::GeneratedMessage<TestMessageSetExtension2, TestMessageSetExtension2.Builder> {

     private static readonly TestMessageSetExtension2 defaultInstance = new Builder().BuildPartial();

     public static TestMessageSetExtension2 DefaultInstance {

@@ -829,6 +853,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMessageSetExtension2, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -946,6 +973,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class RawMessageSet : pb::GeneratedMessage<RawMessageSet, RawMessageSet.Builder> {

     private static readonly RawMessageSet defaultInstance = new Builder().BuildPartial();

     public static RawMessageSet DefaultInstance {

@@ -969,7 +999,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Item : pb::GeneratedMessage<Item, Item.Builder> {

         private static readonly Item defaultInstance = new Builder().BuildPartial();

         public static Item DefaultInstance {

@@ -1087,6 +1123,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Item, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1311,6 +1350,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<RawMessageSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
index a5e2063..8e4fb94 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos.NoGenericService {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestNoGenericServicesProtoFile {

   

     #region Extension registration

@@ -63,6 +66,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum TestEnum {

     FOO = 1,

   }

@@ -70,6 +75,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMessage : pb::ExtendableMessage<TestMessage, TestMessage.Builder> {

     private static readonly TestMessage defaultInstance = new Builder().BuildPartial();

     public static TestMessage DefaultInstance {

@@ -173,6 +181,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
index 0c926a2..fbbcad9 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestOptimizeForProtoFile {

   

     #region Extension registration

@@ -76,6 +79,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestOptimizedForSize : pb::ExtendableMessage<TestOptimizedForSize, TestOptimizedForSize.Builder> {

     private static readonly TestOptimizedForSize defaultInstance = new Builder().BuildPartial();

     public static TestOptimizedForSize DefaultInstance {

@@ -159,6 +165,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -257,6 +266,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRequiredOptimizedForSize : pb::GeneratedMessage<TestRequiredOptimizedForSize, TestRequiredOptimizedForSize.Builder> {

     private static readonly TestRequiredOptimizedForSize defaultInstance = new Builder().BuildPartial();

     public static TestRequiredOptimizedForSize DefaultInstance {

@@ -326,6 +338,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequiredOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -388,6 +403,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestOptionalOptimizedForSize : pb::GeneratedMessage<TestOptionalOptimizedForSize, TestOptionalOptimizedForSize.Builder> {

     private static readonly TestOptionalOptimizedForSize defaultInstance = new Builder().BuildPartial();

     public static TestOptionalOptimizedForSize DefaultInstance {

@@ -457,6 +475,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestOptionalOptimizedForSize, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
index 6083014..9d56dc7 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestProtoFile {

   

     #region Extension registration

@@ -988,12 +991,16 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ForeignEnum {

     FOREIGN_FOO = 4,

     FOREIGN_BAR = 5,

     FOREIGN_BAZ = 6,

   }

   

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum TestEnumWithDupValue {

     FOO1 = 1,

     BAR1 = 2,

@@ -1002,6 +1009,8 @@
     BAR2 = 2,

   }

   

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum TestSparseEnum {

     SPARSE_A = 123,

     SPARSE_B = 62374,

@@ -1015,6 +1024,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllTypes : pb::GeneratedMessage<TestAllTypes, TestAllTypes.Builder> {

     private static readonly TestAllTypes defaultInstance = new Builder().BuildPartial();

     public static TestAllTypes DefaultInstance {

@@ -1038,13 +1050,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum NestedEnum {

         FOO = 1,

         BAR = 2,

         BAZ = 3,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private static readonly NestedMessage defaultInstance = new Builder().BuildPartial();

         public static NestedMessage DefaultInstance {

@@ -1144,6 +1164,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1260,6 +1283,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class OptionalGroup : pb::GeneratedMessage<OptionalGroup, OptionalGroup.Builder> {

         private static readonly OptionalGroup defaultInstance = new Builder().BuildPartial();

         public static OptionalGroup DefaultInstance {

@@ -1359,6 +1385,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1475,6 +1504,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class RepeatedGroup : pb::GeneratedMessage<RepeatedGroup, RepeatedGroup.Builder> {

         private static readonly RepeatedGroup defaultInstance = new Builder().BuildPartial();

         public static RepeatedGroup DefaultInstance {

@@ -1574,6 +1606,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3038,6 +3073,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestAllTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5317,6 +5355,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDeprecatedFields : pb::GeneratedMessage<TestDeprecatedFields, TestDeprecatedFields.Builder> {

     private static readonly TestDeprecatedFields defaultInstance = new Builder().BuildPartial();

     public static TestDeprecatedFields DefaultInstance {

@@ -5416,6 +5457,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDeprecatedFields, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5532,6 +5576,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ForeignMessage : pb::GeneratedMessage<ForeignMessage, ForeignMessage.Builder> {

     private static readonly ForeignMessage defaultInstance = new Builder().BuildPartial();

     public static ForeignMessage DefaultInstance {

@@ -5631,6 +5678,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ForeignMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5747,6 +5797,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllExtensions : pb::ExtendableMessage<TestAllExtensions, TestAllExtensions.Builder> {

     private static readonly TestAllExtensions defaultInstance = new Builder().BuildPartial();

     public static TestAllExtensions DefaultInstance {

@@ -5834,6 +5887,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestAllExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5926,6 +5982,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OptionalGroup_extension : pb::GeneratedMessage<OptionalGroup_extension, OptionalGroup_extension.Builder> {

     private static readonly OptionalGroup_extension defaultInstance = new Builder().BuildPartial();

     public static OptionalGroup_extension DefaultInstance {

@@ -6025,6 +6084,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6141,6 +6203,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class RepeatedGroup_extension : pb::GeneratedMessage<RepeatedGroup_extension, RepeatedGroup_extension.Builder> {

     private static readonly RepeatedGroup_extension defaultInstance = new Builder().BuildPartial();

     public static RepeatedGroup_extension DefaultInstance {

@@ -6240,6 +6305,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6356,6 +6424,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestNestedExtension : pb::GeneratedMessage<TestNestedExtension, TestNestedExtension.Builder> {

     private static readonly TestNestedExtension defaultInstance = new Builder().BuildPartial();

     public static TestNestedExtension DefaultInstance {

@@ -6441,6 +6512,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedExtension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6532,6 +6606,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRequired : pb::GeneratedMessage<TestRequired, TestRequired.Builder> {

     private static readonly TestRequired defaultInstance = new Builder().BuildPartial();

     public static TestRequired DefaultInstance {

@@ -7150,6 +7227,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequired, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8066,6 +8146,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRequiredForeign : pb::GeneratedMessage<TestRequiredForeign, TestRequiredForeign.Builder> {

     private static readonly TestRequiredForeign defaultInstance = new Builder().BuildPartial();

     public static TestRequiredForeign DefaultInstance {

@@ -8205,6 +8288,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequiredForeign, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8417,6 +8503,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestForeignNested : pb::GeneratedMessage<TestForeignNested, TestForeignNested.Builder> {

     private static readonly TestForeignNested defaultInstance = new Builder().BuildPartial();

     public static TestForeignNested DefaultInstance {

@@ -8516,6 +8605,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestForeignNested, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8655,6 +8747,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestEmptyMessage : pb::GeneratedMessage<TestEmptyMessage, TestEmptyMessage.Builder> {

     private static readonly TestEmptyMessage defaultInstance = new Builder().BuildPartial();

     public static TestEmptyMessage DefaultInstance {

@@ -8738,6 +8833,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestEmptyMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8829,6 +8927,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestEmptyMessageWithExtensions : pb::ExtendableMessage<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder> {

     private static readonly TestEmptyMessageWithExtensions defaultInstance = new Builder().BuildPartial();

     public static TestEmptyMessageWithExtensions DefaultInstance {

@@ -8916,6 +9017,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestEmptyMessageWithExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9008,6 +9112,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMultipleExtensionRanges : pb::ExtendableMessage<TestMultipleExtensionRanges, TestMultipleExtensionRanges.Builder> {

     private static readonly TestMultipleExtensionRanges defaultInstance = new Builder().BuildPartial();

     public static TestMultipleExtensionRanges DefaultInstance {

@@ -9097,6 +9204,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMultipleExtensionRanges, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9189,6 +9299,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestReallyLargeTagNumber : pb::GeneratedMessage<TestReallyLargeTagNumber, TestReallyLargeTagNumber.Builder> {

     private static readonly TestReallyLargeTagNumber defaultInstance = new Builder().BuildPartial();

     public static TestReallyLargeTagNumber DefaultInstance {

@@ -9304,6 +9417,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestReallyLargeTagNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9445,6 +9561,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRecursiveMessage : pb::GeneratedMessage<TestRecursiveMessage, TestRecursiveMessage.Builder> {

     private static readonly TestRecursiveMessage defaultInstance = new Builder().BuildPartial();

     public static TestRecursiveMessage DefaultInstance {

@@ -9560,6 +9679,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRecursiveMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9724,6 +9846,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMutualRecursionA : pb::GeneratedMessage<TestMutualRecursionA, TestMutualRecursionA.Builder> {

     private static readonly TestMutualRecursionA defaultInstance = new Builder().BuildPartial();

     public static TestMutualRecursionA DefaultInstance {

@@ -9823,6 +9948,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9962,6 +10090,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMutualRecursionB : pb::GeneratedMessage<TestMutualRecursionB, TestMutualRecursionB.Builder> {

     private static readonly TestMutualRecursionB defaultInstance = new Builder().BuildPartial();

     public static TestMutualRecursionB DefaultInstance {

@@ -10077,6 +10208,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -10241,6 +10375,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDupFieldNumber : pb::GeneratedMessage<TestDupFieldNumber, TestDupFieldNumber.Builder> {

     private static readonly TestDupFieldNumber defaultInstance = new Builder().BuildPartial();

     public static TestDupFieldNumber DefaultInstance {

@@ -10264,7 +10401,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Foo : pb::GeneratedMessage<Foo, Foo.Builder> {

         private static readonly Foo defaultInstance = new Builder().BuildPartial();

         public static Foo DefaultInstance {

@@ -10364,6 +10507,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Foo, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -10480,6 +10626,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Bar : pb::GeneratedMessage<Bar, Bar.Builder> {

         private static readonly Bar defaultInstance = new Builder().BuildPartial();

         public static Bar DefaultInstance {

@@ -10579,6 +10728,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Bar, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -10807,6 +10959,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDupFieldNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11019,6 +11174,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestNestedMessageHasBits : pb::GeneratedMessage<TestNestedMessageHasBits, TestNestedMessageHasBits.Builder> {

     private static readonly TestNestedMessageHasBits defaultInstance = new Builder().BuildPartial();

     public static TestNestedMessageHasBits DefaultInstance {

@@ -11042,7 +11200,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private static readonly NestedMessage defaultInstance = new Builder().BuildPartial();

         public static NestedMessage DefaultInstance {

@@ -11169,6 +11333,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -11422,6 +11589,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedMessageHasBits, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11561,6 +11731,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestCamelCaseFieldNames : pb::GeneratedMessage<TestCamelCaseFieldNames, TestCamelCaseFieldNames.Builder> {

     private static readonly TestCamelCaseFieldNames defaultInstance = new Builder().BuildPartial();

     public static TestCamelCaseFieldNames DefaultInstance {

@@ -11885,6 +12058,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestCamelCaseFieldNames, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -12392,6 +12568,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestFieldOrderings : pb::ExtendableMessage<TestFieldOrderings, TestFieldOrderings.Builder> {

     private static readonly TestFieldOrderings defaultInstance = new Builder().BuildPartial();

     public static TestFieldOrderings DefaultInstance {

@@ -12528,6 +12707,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestFieldOrderings, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -12696,6 +12878,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestExtremeDefaultValues : pb::GeneratedMessage<TestExtremeDefaultValues, TestExtremeDefaultValues.Builder> {

     private static readonly TestExtremeDefaultValues defaultInstance = new Builder().BuildPartial();

     public static TestExtremeDefaultValues DefaultInstance {

@@ -13085,6 +13270,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestExtremeDefaultValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -13657,6 +13845,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OneString : pb::GeneratedMessage<OneString, OneString.Builder> {

     private static readonly OneString defaultInstance = new Builder().BuildPartial();

     public static OneString DefaultInstance {

@@ -13756,6 +13947,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneString, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -13873,6 +14067,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OneBytes : pb::GeneratedMessage<OneBytes, OneBytes.Builder> {

     private static readonly OneBytes defaultInstance = new Builder().BuildPartial();

     public static OneBytes DefaultInstance {

@@ -13972,6 +14169,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneBytes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -14089,6 +14289,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedTypes : pb::GeneratedMessage<TestPackedTypes, TestPackedTypes.Builder> {

     private static readonly TestPackedTypes defaultInstance = new Builder().BuildPartial();

     public static TestPackedTypes DefaultInstance {

@@ -14601,6 +14804,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestPackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -15266,6 +15472,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestUnpackedTypes : pb::GeneratedMessage<TestUnpackedTypes, TestUnpackedTypes.Builder> {

     private static readonly TestUnpackedTypes defaultInstance = new Builder().BuildPartial();

     public static TestUnpackedTypes DefaultInstance {

@@ -15695,6 +15904,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestUnpackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16290,6 +16502,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedExtensions : pb::ExtendableMessage<TestPackedExtensions, TestPackedExtensions.Builder> {

     private static readonly TestPackedExtensions defaultInstance = new Builder().BuildPartial();

     public static TestPackedExtensions DefaultInstance {

@@ -16377,6 +16592,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestPackedExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16469,6 +16687,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDynamicExtensions : pb::GeneratedMessage<TestDynamicExtensions, TestDynamicExtensions.Builder> {

     private static readonly TestDynamicExtensions defaultInstance = new Builder().BuildPartial();

     public static TestDynamicExtensions DefaultInstance {

@@ -16492,13 +16713,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum DynamicEnumType {

         DYNAMIC_FOO = 2200,

         DYNAMIC_BAR = 2201,

         DYNAMIC_BAZ = 2202,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class DynamicMessageType : pb::GeneratedMessage<DynamicMessageType, DynamicMessageType.Builder> {

         private static readonly DynamicMessageType defaultInstance = new Builder().BuildPartial();

         public static DynamicMessageType DefaultInstance {

@@ -16598,6 +16827,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<DynamicMessageType, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -16915,6 +17147,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDynamicExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17270,6 +17505,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRepeatedScalarDifferentTagSizes : pb::GeneratedMessage<TestRepeatedScalarDifferentTagSizes, TestRepeatedScalarDifferentTagSizes.Builder> {

     private static readonly TestRepeatedScalarDifferentTagSizes defaultInstance = new Builder().BuildPartial();

     public static TestRepeatedScalarDifferentTagSizes DefaultInstance {

@@ -17503,6 +17741,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRepeatedScalarDifferentTagSizes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17813,6 +18054,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FooRequest : pb::GeneratedMessage<FooRequest, FooRequest.Builder> {

     private static readonly FooRequest defaultInstance = new Builder().BuildPartial();

     public static FooRequest DefaultInstance {

@@ -17896,6 +18140,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17987,6 +18234,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FooResponse : pb::GeneratedMessage<FooResponse, FooResponse.Builder> {

     private static readonly FooResponse defaultInstance = new Builder().BuildPartial();

     public static FooResponse DefaultInstance {

@@ -18070,6 +18320,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -18161,6 +18414,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class BarRequest : pb::GeneratedMessage<BarRequest, BarRequest.Builder> {

     private static readonly BarRequest defaultInstance = new Builder().BuildPartial();

     public static BarRequest DefaultInstance {

@@ -18244,6 +18500,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -18335,6 +18594,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class BarResponse : pb::GeneratedMessage<BarResponse, BarResponse.Builder> {

     private static readonly BarResponse defaultInstance = new Builder().BuildPartial();

     public static BarResponse DefaultInstance {

@@ -18418,6 +18680,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
index 730af92..8731f93 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestRpcInterop.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestRpcInterop {

   

     #region Extension registration

@@ -74,6 +77,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class SearchRequest : pb::GeneratedMessage<SearchRequest, SearchRequest.Builder> {

     private static readonly SearchRequest defaultInstance = new Builder().BuildPartial();

     public static SearchRequest DefaultInstance {

@@ -182,6 +188,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<SearchRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -309,6 +318,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class SearchResponse : pb::GeneratedMessage<SearchResponse, SearchResponse.Builder> {

     private static readonly SearchResponse defaultInstance = new Builder().BuildPartial();

     public static SearchResponse DefaultInstance {

@@ -332,7 +344,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class ResultItem : pb::GeneratedMessage<ResultItem, ResultItem.Builder> {

         private static readonly ResultItem defaultInstance = new Builder().BuildPartial();

         public static ResultItem DefaultInstance {

@@ -449,6 +467,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<ResultItem, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -677,6 +698,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<SearchResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -816,6 +840,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class RefineSearchRequest : pb::GeneratedMessage<RefineSearchRequest, RefineSearchRequest.Builder> {

     private static readonly RefineSearchRequest defaultInstance = new Builder().BuildPartial();

     public static RefineSearchRequest DefaultInstance {

@@ -942,6 +969,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<RefineSearchRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1121,6 +1151,8 @@
   

   #region Services

   [global::System.Runtime.InteropServices.GuidAttribute("a65f0925-fd11-4f94-b166-89ac4f027205")]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public partial interface ISearchService {

     [global::System.Runtime.InteropServices.DispId(5)]

     global::Google.ProtocolBuffers.TestProtos.SearchResponse Search(global::Google.ProtocolBuffers.TestProtos.SearchRequest searchRequest);

@@ -1128,6 +1160,9 @@
   }

   

   [global::System.CLSCompliant(false)]

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public partial class SearchService : ISearchService, pb::IRpcDispatch, global::System.IDisposable {

     private readonly bool dispose;

     private readonly pb::IRpcDispatch dispatch;

@@ -1155,6 +1190,9 @@
     }

     

     [global::System.CLSCompliant(false)]

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public partial class Dispatch : pb::IRpcDispatch, global::System.IDisposable {

       private readonly bool dispose;

       private readonly ISearchService implementation;

@@ -1180,6 +1218,9 @@
       }

     }

     [global::System.CLSCompliant(false)]

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public partial class ServerStub : pb::IRpcServerStub, global::System.IDisposable {

       private readonly bool dispose;

       private readonly pb::IRpcDispatch implementation;

diff --git a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
index adfbc9a..bfb78da 100644
--- a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.DescriptorProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class CSharpOptions {

   

     #region Extension registration

@@ -104,6 +107,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum CSharpServiceType {

     NONE = 0,

     GENERIC = 1,

@@ -114,6 +119,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CSharpFileOptions : pb::GeneratedMessage<CSharpFileOptions, CSharpFileOptions.Builder> {

     private static readonly CSharpFileOptions defaultInstance = new Builder().BuildPartial();

     public static CSharpFileOptions DefaultInstance {

@@ -405,6 +413,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CSharpFileOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -834,6 +845,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CSharpFieldOptions : pb::GeneratedMessage<CSharpFieldOptions, CSharpFieldOptions.Builder> {

     private static readonly CSharpFieldOptions defaultInstance = new Builder().BuildPartial();

     public static CSharpFieldOptions DefaultInstance {

@@ -933,6 +947,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CSharpFieldOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1050,6 +1067,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CSharpServiceOptions : pb::GeneratedMessage<CSharpServiceOptions, CSharpServiceOptions.Builder> {

     private static readonly CSharpServiceOptions defaultInstance = new Builder().BuildPartial();

     public static CSharpServiceOptions DefaultInstance {

@@ -1149,6 +1169,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CSharpServiceOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1266,6 +1289,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class CSharpMethodOptions : pb::GeneratedMessage<CSharpMethodOptions, CSharpMethodOptions.Builder> {

     private static readonly CSharpMethodOptions defaultInstance = new Builder().BuildPartial();

     public static CSharpMethodOptions DefaultInstance {

@@ -1365,6 +1391,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<CSharpMethodOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs b/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
index 05fdd25..3c06d94 100644
--- a/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.DescriptorProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class DescriptorProtoFile {

   

     #region Extension registration

@@ -224,6 +227,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FileDescriptorSet : pb::GeneratedMessage<FileDescriptorSet, FileDescriptorSet.Builder> {

     private static readonly FileDescriptorSet defaultInstance = new Builder().BuildPartial();

     public static FileDescriptorSet DefaultInstance {

@@ -328,6 +334,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FileDescriptorSet, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -467,6 +476,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FileDescriptorProto : pb::GeneratedMessage<FileDescriptorProto, FileDescriptorProto.Builder> {

     private static readonly FileDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static FileDescriptorProto DefaultInstance {

@@ -710,6 +722,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FileDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1129,6 +1144,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class DescriptorProto : pb::GeneratedMessage<DescriptorProto, DescriptorProto.Builder> {

     private static readonly DescriptorProto defaultInstance = new Builder().BuildPartial();

     public static DescriptorProto DefaultInstance {

@@ -1152,7 +1170,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class ExtensionRange : pb::GeneratedMessage<ExtensionRange, ExtensionRange.Builder> {

         private static readonly ExtensionRange defaultInstance = new Builder().BuildPartial();

         public static ExtensionRange DefaultInstance {

@@ -1268,6 +1292,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<ExtensionRange, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1610,6 +1637,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<DescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2015,6 +2045,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FieldDescriptorProto : pb::GeneratedMessage<FieldDescriptorProto, FieldDescriptorProto.Builder> {

     private static readonly FieldDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static FieldDescriptorProto DefaultInstance {

@@ -2038,7 +2071,12 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum Type {

         TYPE_DOUBLE = 1,

         TYPE_FLOAT = 2,

@@ -2060,6 +2098,8 @@
         TYPE_SINT64 = 18,

       }

       

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum Label {

         LABEL_OPTIONAL = 1,

         LABEL_REQUIRED = 2,

@@ -2261,6 +2301,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FieldDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2595,6 +2638,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class EnumDescriptorProto : pb::GeneratedMessage<EnumDescriptorProto, EnumDescriptorProto.Builder> {

     private static readonly EnumDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static EnumDescriptorProto DefaultInstance {

@@ -2734,6 +2780,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<EnumDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2947,6 +2996,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class EnumValueDescriptorProto : pb::GeneratedMessage<EnumValueDescriptorProto, EnumValueDescriptorProto.Builder> {

     private static readonly EnumValueDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static EnumValueDescriptorProto DefaultInstance {

@@ -3081,6 +3133,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<EnumValueDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3271,6 +3326,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ServiceDescriptorProto : pb::GeneratedMessage<ServiceDescriptorProto, ServiceDescriptorProto.Builder> {

     private static readonly ServiceDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static ServiceDescriptorProto DefaultInstance {

@@ -3410,6 +3468,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ServiceDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3623,6 +3684,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class MethodDescriptorProto : pb::GeneratedMessage<MethodDescriptorProto, MethodDescriptorProto.Builder> {

     private static readonly MethodDescriptorProto defaultInstance = new Builder().BuildPartial();

     public static MethodDescriptorProto DefaultInstance {

@@ -3773,6 +3837,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<MethodDescriptorProto, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -3990,6 +4057,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FileOptions : pb::ExtendableMessage<FileOptions, FileOptions.Builder> {

     private static readonly FileOptions defaultInstance = new Builder().BuildPartial();

     public static FileOptions DefaultInstance {

@@ -4013,7 +4083,12 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum OptimizeMode {

         SPEED = 1,

         CODE_SIZE = 2,

@@ -4221,6 +4296,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<FileOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -4546,6 +4624,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class MessageOptions : pb::ExtendableMessage<MessageOptions, MessageOptions.Builder> {

     private static readonly MessageOptions defaultInstance = new Builder().BuildPartial();

     public static MessageOptions DefaultInstance {

@@ -4686,6 +4767,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<MessageOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -4876,6 +4960,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FieldOptions : pb::ExtendableMessage<FieldOptions, FieldOptions.Builder> {

     private static readonly FieldOptions defaultInstance = new Builder().BuildPartial();

     public static FieldOptions DefaultInstance {

@@ -4899,7 +4986,12 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum CType {

         STRING = 0,

         CORD = 1,

@@ -5059,6 +5151,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<FieldOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5308,6 +5403,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class EnumOptions : pb::ExtendableMessage<EnumOptions, EnumOptions.Builder> {

     private static readonly EnumOptions defaultInstance = new Builder().BuildPartial();

     public static EnumOptions DefaultInstance {

@@ -5416,6 +5514,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<EnumOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5556,6 +5657,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class EnumValueOptions : pb::ExtendableMessage<EnumValueOptions, EnumValueOptions.Builder> {

     private static readonly EnumValueOptions defaultInstance = new Builder().BuildPartial();

     public static EnumValueOptions DefaultInstance {

@@ -5664,6 +5768,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<EnumValueOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5804,6 +5911,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ServiceOptions : pb::ExtendableMessage<ServiceOptions, ServiceOptions.Builder> {

     private static readonly ServiceOptions defaultInstance = new Builder().BuildPartial();

     public static ServiceOptions DefaultInstance {

@@ -5912,6 +6022,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<ServiceOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6052,6 +6165,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class MethodOptions : pb::ExtendableMessage<MethodOptions, MethodOptions.Builder> {

     private static readonly MethodOptions defaultInstance = new Builder().BuildPartial();

     public static MethodOptions DefaultInstance {

@@ -6160,6 +6276,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<MethodOptions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6300,6 +6419,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class UninterpretedOption : pb::GeneratedMessage<UninterpretedOption, UninterpretedOption.Builder> {

     private static readonly UninterpretedOption defaultInstance = new Builder().BuildPartial();

     public static UninterpretedOption DefaultInstance {

@@ -6323,7 +6445,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NamePart : pb::GeneratedMessage<NamePart, NamePart.Builder> {

         private static readonly NamePart defaultInstance = new Builder().BuildPartial();

         public static NamePart DefaultInstance {

@@ -6441,6 +6569,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<NamePart, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -6749,6 +6880,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<UninterpretedOption, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
index 46b62e6..266b4f1 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestExtrasFullProtoFile {

   

     #region Extension registration

@@ -119,6 +122,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestInteropPerson : pb::ExtendableMessage<TestInteropPerson, TestInteropPerson.Builder> {

     private static readonly TestInteropPerson defaultInstance = new Builder().BuildPartial();

     public static TestInteropPerson DefaultInstance {

@@ -142,13 +148,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum PhoneType {

         MOBILE = 0,

         HOME = 1,

         WORK = 2,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class PhoneNumber : pb::GeneratedMessage<PhoneNumber, PhoneNumber.Builder> {

         private static readonly PhoneNumber defaultInstance = new Builder().BuildPartial();

         public static PhoneNumber DefaultInstance {

@@ -228,6 +242,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<PhoneNumber, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -309,6 +326,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Addresses : pb::GeneratedMessage<Addresses, Addresses.Builder> {

         private static readonly Addresses defaultInstance = new Builder().BuildPartial();

         public static Addresses DefaultInstance {

@@ -419,6 +439,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Addresses, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -665,6 +688,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestInteropPerson, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -870,6 +896,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestInteropEmployeeId : pb::GeneratedMessage<TestInteropEmployeeId, TestInteropEmployeeId.Builder> {

     private static readonly TestInteropEmployeeId defaultInstance = new Builder().BuildPartial();

     public static TestInteropEmployeeId DefaultInstance {

@@ -939,6 +968,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestInteropEmployeeId, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1002,6 +1034,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMissingFieldsA : pb::GeneratedMessage<TestMissingFieldsA, TestMissingFieldsA.Builder> {

     private static readonly TestMissingFieldsA defaultInstance = new Builder().BuildPartial();

     public static TestMissingFieldsA DefaultInstance {

@@ -1025,7 +1060,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class SubA : pb::GeneratedMessage<SubA, SubA.Builder> {

         private static readonly SubA defaultInstance = new Builder().BuildPartial();

         public static SubA DefaultInstance {

@@ -1107,6 +1148,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<SubA, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1278,6 +1322,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMissingFieldsA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1414,6 +1461,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMissingFieldsB : pb::GeneratedMessage<TestMissingFieldsB, TestMissingFieldsB.Builder> {

     private static readonly TestMissingFieldsB defaultInstance = new Builder().BuildPartial();

     public static TestMissingFieldsB DefaultInstance {

@@ -1437,7 +1487,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class SubB : pb::GeneratedMessage<SubB, SubB.Builder> {

         private static readonly SubB defaultInstance = new Builder().BuildPartial();

         public static SubB DefaultInstance {

@@ -1509,6 +1565,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<SubB, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1662,6 +1721,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMissingFieldsB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportLiteProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportLiteProtoFile.cs
index 1769859..f06354a 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportLiteProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportLiteProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestImportLiteProtoFile {

   

     #region Extension registration

@@ -23,6 +26,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ImportEnumLite {

     IMPORT_LITE_FOO = 7,

     IMPORT_LITE_BAR = 8,

@@ -32,6 +37,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ImportMessageLite : pb::GeneratedMessageLite<ImportMessageLite, ImportMessageLite.Builder> {

     private static readonly ImportMessageLite defaultInstance = new Builder().BuildPartial();

     public static ImportMessageLite DefaultInstance {

@@ -140,6 +148,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<ImportMessageLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportProtoFile.cs
index 827e651..f7ca0d2 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestImportProtoFile {

   

     #region Extension registration

@@ -51,6 +54,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ImportEnum {

     IMPORT_FOO = 7,

     IMPORT_BAR = 8,

@@ -60,6 +65,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ImportMessage : pb::GeneratedMessage<ImportMessage, ImportMessage.Builder> {

     private static readonly ImportMessage defaultInstance = new Builder().BuildPartial();

     public static ImportMessage DefaultInstance {

@@ -159,6 +167,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ImportMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteImportNonLiteProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteImportNonLiteProtoFile.cs
index a9d8acf..ca028a0 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteImportNonLiteProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteImportNonLiteProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestLiteImportNonLiteProtoFile {

   

     #region Extension registration

@@ -23,6 +26,9 @@
     

   }

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestLiteImportsNonlite : pb::GeneratedMessageLite<TestLiteImportsNonlite, TestLiteImportsNonlite.Builder> {

     private static readonly TestLiteImportsNonlite defaultInstance = new Builder().BuildPartial();

     public static TestLiteImportsNonlite DefaultInstance {

@@ -131,6 +137,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<TestLiteImportsNonlite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteProtoFile.cs
index 0244099..3b12483 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestLiteProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestLiteProtoFile {

   

     #region Extension registration

@@ -1036,6 +1039,8 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ForeignEnumLite {

     FOREIGN_LITE_FOO = 4,

     FOREIGN_LITE_BAR = 5,

@@ -1045,6 +1050,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllTypesLite : pb::GeneratedMessageLite<TestAllTypesLite, TestAllTypesLite.Builder> {

     private static readonly TestAllTypesLite defaultInstance = new Builder().BuildPartial();

     public static TestAllTypesLite DefaultInstance {

@@ -1060,13 +1068,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum NestedEnum {

         FOO = 1,

         BAR = 2,

         BAZ = 3,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NestedMessage : pb::GeneratedMessageLite<NestedMessage, NestedMessage.Builder> {

         private static readonly NestedMessage defaultInstance = new Builder().BuildPartial();

         public static NestedMessage DefaultInstance {

@@ -1175,6 +1191,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilderLite<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1276,6 +1295,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class OptionalGroup : pb::GeneratedMessageLite<OptionalGroup, OptionalGroup.Builder> {

         private static readonly OptionalGroup defaultInstance = new Builder().BuildPartial();

         public static OptionalGroup DefaultInstance {

@@ -1384,6 +1406,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilderLite<OptionalGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1485,6 +1510,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class RepeatedGroup : pb::GeneratedMessageLite<RepeatedGroup, RepeatedGroup.Builder> {

         private static readonly RepeatedGroup defaultInstance = new Builder().BuildPartial();

         public static RepeatedGroup DefaultInstance {

@@ -1593,6 +1621,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilderLite<RepeatedGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3332,6 +3363,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<TestAllTypesLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5560,6 +5594,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ForeignMessageLite : pb::GeneratedMessageLite<ForeignMessageLite, ForeignMessageLite.Builder> {

     private static readonly ForeignMessageLite defaultInstance = new Builder().BuildPartial();

     public static ForeignMessageLite DefaultInstance {

@@ -5668,6 +5705,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<ForeignMessageLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5769,6 +5809,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedTypesLite : pb::GeneratedMessageLite<TestPackedTypesLite, TestPackedTypesLite.Builder> {

     private static readonly TestPackedTypesLite defaultInstance = new Builder().BuildPartial();

     public static TestPackedTypesLite DefaultInstance {

@@ -6371,6 +6414,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<TestPackedTypesLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7017,6 +7063,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllExtensionsLite : pb::ExtendableMessageLite<TestAllExtensionsLite, TestAllExtensionsLite.Builder> {

     private static readonly TestAllExtensionsLite defaultInstance = new Builder().BuildPartial();

     public static TestAllExtensionsLite DefaultInstance {

@@ -7113,6 +7162,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilderLite<TestAllExtensionsLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7190,6 +7242,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OptionalGroup_extension_lite : pb::GeneratedMessageLite<OptionalGroup_extension_lite, OptionalGroup_extension_lite.Builder> {

     private static readonly OptionalGroup_extension_lite defaultInstance = new Builder().BuildPartial();

     public static OptionalGroup_extension_lite DefaultInstance {

@@ -7298,6 +7353,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<OptionalGroup_extension_lite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7399,6 +7457,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class RepeatedGroup_extension_lite : pb::GeneratedMessageLite<RepeatedGroup_extension_lite, RepeatedGroup_extension_lite.Builder> {

     private static readonly RepeatedGroup_extension_lite defaultInstance = new Builder().BuildPartial();

     public static RepeatedGroup_extension_lite DefaultInstance {

@@ -7507,6 +7568,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<RepeatedGroup_extension_lite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7608,6 +7672,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedExtensionsLite : pb::ExtendableMessageLite<TestPackedExtensionsLite, TestPackedExtensionsLite.Builder> {

     private static readonly TestPackedExtensionsLite defaultInstance = new Builder().BuildPartial();

     public static TestPackedExtensionsLite DefaultInstance {

@@ -7704,6 +7771,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilderLite<TestPackedExtensionsLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7781,6 +7851,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestNestedExtensionLite : pb::GeneratedMessageLite<TestNestedExtensionLite, TestNestedExtensionLite.Builder> {

     private static readonly TestNestedExtensionLite defaultInstance = new Builder().BuildPartial();

     public static TestNestedExtensionLite DefaultInstance {

@@ -7872,6 +7945,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<TestNestedExtensionLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -7948,6 +8024,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDeprecatedLite : pb::GeneratedMessageLite<TestDeprecatedLite, TestDeprecatedLite.Builder> {

     private static readonly TestDeprecatedLite defaultInstance = new Builder().BuildPartial();

     public static TestDeprecatedLite DefaultInstance {

@@ -8056,6 +8135,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilderLite<TestDeprecatedLite, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestProtoFile.cs
index 6083014..9d56dc7 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestProtoFile.cs
@@ -6,6 +6,9 @@
 using scg = global::System.Collections.Generic;

 namespace Google.ProtocolBuffers.TestProtos {

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public static partial class UnitTestProtoFile {

   

     #region Extension registration

@@ -988,12 +991,16 @@
     

   }

   #region Enums

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum ForeignEnum {

     FOREIGN_FOO = 4,

     FOREIGN_BAR = 5,

     FOREIGN_BAZ = 6,

   }

   

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum TestEnumWithDupValue {

     FOO1 = 1,

     BAR1 = 2,

@@ -1002,6 +1009,8 @@
     BAR2 = 2,

   }

   

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public enum TestSparseEnum {

     SPARSE_A = 123,

     SPARSE_B = 62374,

@@ -1015,6 +1024,9 @@
   #endregion

   

   #region Messages

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllTypes : pb::GeneratedMessage<TestAllTypes, TestAllTypes.Builder> {

     private static readonly TestAllTypes defaultInstance = new Builder().BuildPartial();

     public static TestAllTypes DefaultInstance {

@@ -1038,13 +1050,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum NestedEnum {

         FOO = 1,

         BAR = 2,

         BAZ = 3,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private static readonly NestedMessage defaultInstance = new Builder().BuildPartial();

         public static NestedMessage DefaultInstance {

@@ -1144,6 +1164,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1260,6 +1283,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class OptionalGroup : pb::GeneratedMessage<OptionalGroup, OptionalGroup.Builder> {

         private static readonly OptionalGroup defaultInstance = new Builder().BuildPartial();

         public static OptionalGroup DefaultInstance {

@@ -1359,6 +1385,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1475,6 +1504,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class RepeatedGroup : pb::GeneratedMessage<RepeatedGroup, RepeatedGroup.Builder> {

         private static readonly RepeatedGroup defaultInstance = new Builder().BuildPartial();

         public static RepeatedGroup DefaultInstance {

@@ -1574,6 +1606,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -3038,6 +3073,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestAllTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5317,6 +5355,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDeprecatedFields : pb::GeneratedMessage<TestDeprecatedFields, TestDeprecatedFields.Builder> {

     private static readonly TestDeprecatedFields defaultInstance = new Builder().BuildPartial();

     public static TestDeprecatedFields DefaultInstance {

@@ -5416,6 +5457,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDeprecatedFields, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5532,6 +5576,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class ForeignMessage : pb::GeneratedMessage<ForeignMessage, ForeignMessage.Builder> {

     private static readonly ForeignMessage defaultInstance = new Builder().BuildPartial();

     public static ForeignMessage DefaultInstance {

@@ -5631,6 +5678,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<ForeignMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5747,6 +5797,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestAllExtensions : pb::ExtendableMessage<TestAllExtensions, TestAllExtensions.Builder> {

     private static readonly TestAllExtensions defaultInstance = new Builder().BuildPartial();

     public static TestAllExtensions DefaultInstance {

@@ -5834,6 +5887,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestAllExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -5926,6 +5982,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OptionalGroup_extension : pb::GeneratedMessage<OptionalGroup_extension, OptionalGroup_extension.Builder> {

     private static readonly OptionalGroup_extension defaultInstance = new Builder().BuildPartial();

     public static OptionalGroup_extension DefaultInstance {

@@ -6025,6 +6084,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OptionalGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6141,6 +6203,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class RepeatedGroup_extension : pb::GeneratedMessage<RepeatedGroup_extension, RepeatedGroup_extension.Builder> {

     private static readonly RepeatedGroup_extension defaultInstance = new Builder().BuildPartial();

     public static RepeatedGroup_extension DefaultInstance {

@@ -6240,6 +6305,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<RepeatedGroup_extension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6356,6 +6424,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestNestedExtension : pb::GeneratedMessage<TestNestedExtension, TestNestedExtension.Builder> {

     private static readonly TestNestedExtension defaultInstance = new Builder().BuildPartial();

     public static TestNestedExtension DefaultInstance {

@@ -6441,6 +6512,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedExtension, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -6532,6 +6606,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRequired : pb::GeneratedMessage<TestRequired, TestRequired.Builder> {

     private static readonly TestRequired defaultInstance = new Builder().BuildPartial();

     public static TestRequired DefaultInstance {

@@ -7150,6 +7227,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequired, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8066,6 +8146,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRequiredForeign : pb::GeneratedMessage<TestRequiredForeign, TestRequiredForeign.Builder> {

     private static readonly TestRequiredForeign defaultInstance = new Builder().BuildPartial();

     public static TestRequiredForeign DefaultInstance {

@@ -8205,6 +8288,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRequiredForeign, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8417,6 +8503,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestForeignNested : pb::GeneratedMessage<TestForeignNested, TestForeignNested.Builder> {

     private static readonly TestForeignNested defaultInstance = new Builder().BuildPartial();

     public static TestForeignNested DefaultInstance {

@@ -8516,6 +8605,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestForeignNested, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8655,6 +8747,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestEmptyMessage : pb::GeneratedMessage<TestEmptyMessage, TestEmptyMessage.Builder> {

     private static readonly TestEmptyMessage defaultInstance = new Builder().BuildPartial();

     public static TestEmptyMessage DefaultInstance {

@@ -8738,6 +8833,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestEmptyMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -8829,6 +8927,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestEmptyMessageWithExtensions : pb::ExtendableMessage<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder> {

     private static readonly TestEmptyMessageWithExtensions defaultInstance = new Builder().BuildPartial();

     public static TestEmptyMessageWithExtensions DefaultInstance {

@@ -8916,6 +9017,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestEmptyMessageWithExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9008,6 +9112,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMultipleExtensionRanges : pb::ExtendableMessage<TestMultipleExtensionRanges, TestMultipleExtensionRanges.Builder> {

     private static readonly TestMultipleExtensionRanges defaultInstance = new Builder().BuildPartial();

     public static TestMultipleExtensionRanges DefaultInstance {

@@ -9097,6 +9204,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestMultipleExtensionRanges, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9189,6 +9299,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestReallyLargeTagNumber : pb::GeneratedMessage<TestReallyLargeTagNumber, TestReallyLargeTagNumber.Builder> {

     private static readonly TestReallyLargeTagNumber defaultInstance = new Builder().BuildPartial();

     public static TestReallyLargeTagNumber DefaultInstance {

@@ -9304,6 +9417,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestReallyLargeTagNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9445,6 +9561,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRecursiveMessage : pb::GeneratedMessage<TestRecursiveMessage, TestRecursiveMessage.Builder> {

     private static readonly TestRecursiveMessage defaultInstance = new Builder().BuildPartial();

     public static TestRecursiveMessage DefaultInstance {

@@ -9560,6 +9679,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRecursiveMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9724,6 +9846,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMutualRecursionA : pb::GeneratedMessage<TestMutualRecursionA, TestMutualRecursionA.Builder> {

     private static readonly TestMutualRecursionA defaultInstance = new Builder().BuildPartial();

     public static TestMutualRecursionA DefaultInstance {

@@ -9823,6 +9948,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -9962,6 +10090,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestMutualRecursionB : pb::GeneratedMessage<TestMutualRecursionB, TestMutualRecursionB.Builder> {

     private static readonly TestMutualRecursionB defaultInstance = new Builder().BuildPartial();

     public static TestMutualRecursionB DefaultInstance {

@@ -10077,6 +10208,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestMutualRecursionB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -10241,6 +10375,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDupFieldNumber : pb::GeneratedMessage<TestDupFieldNumber, TestDupFieldNumber.Builder> {

     private static readonly TestDupFieldNumber defaultInstance = new Builder().BuildPartial();

     public static TestDupFieldNumber DefaultInstance {

@@ -10264,7 +10401,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Foo : pb::GeneratedMessage<Foo, Foo.Builder> {

         private static readonly Foo defaultInstance = new Builder().BuildPartial();

         public static Foo DefaultInstance {

@@ -10364,6 +10507,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Foo, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -10480,6 +10626,9 @@
         }

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class Bar : pb::GeneratedMessage<Bar, Bar.Builder> {

         private static readonly Bar defaultInstance = new Builder().BuildPartial();

         public static Bar DefaultInstance {

@@ -10579,6 +10728,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<Bar, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -10807,6 +10959,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDupFieldNumber, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11019,6 +11174,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestNestedMessageHasBits : pb::GeneratedMessage<TestNestedMessageHasBits, TestNestedMessageHasBits.Builder> {

     private static readonly TestNestedMessageHasBits defaultInstance = new Builder().BuildPartial();

     public static TestNestedMessageHasBits DefaultInstance {

@@ -11042,7 +11200,13 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {

         private static readonly NestedMessage defaultInstance = new Builder().BuildPartial();

         public static NestedMessage DefaultInstance {

@@ -11169,6 +11333,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<NestedMessage, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -11422,6 +11589,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestNestedMessageHasBits, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -11561,6 +11731,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestCamelCaseFieldNames : pb::GeneratedMessage<TestCamelCaseFieldNames, TestCamelCaseFieldNames.Builder> {

     private static readonly TestCamelCaseFieldNames defaultInstance = new Builder().BuildPartial();

     public static TestCamelCaseFieldNames DefaultInstance {

@@ -11885,6 +12058,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestCamelCaseFieldNames, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -12392,6 +12568,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestFieldOrderings : pb::ExtendableMessage<TestFieldOrderings, TestFieldOrderings.Builder> {

     private static readonly TestFieldOrderings defaultInstance = new Builder().BuildPartial();

     public static TestFieldOrderings DefaultInstance {

@@ -12528,6 +12707,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestFieldOrderings, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -12696,6 +12878,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestExtremeDefaultValues : pb::GeneratedMessage<TestExtremeDefaultValues, TestExtremeDefaultValues.Builder> {

     private static readonly TestExtremeDefaultValues defaultInstance = new Builder().BuildPartial();

     public static TestExtremeDefaultValues DefaultInstance {

@@ -13085,6 +13270,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestExtremeDefaultValues, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -13657,6 +13845,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OneString : pb::GeneratedMessage<OneString, OneString.Builder> {

     private static readonly OneString defaultInstance = new Builder().BuildPartial();

     public static OneString DefaultInstance {

@@ -13756,6 +13947,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneString, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -13873,6 +14067,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class OneBytes : pb::GeneratedMessage<OneBytes, OneBytes.Builder> {

     private static readonly OneBytes defaultInstance = new Builder().BuildPartial();

     public static OneBytes DefaultInstance {

@@ -13972,6 +14169,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<OneBytes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -14089,6 +14289,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedTypes : pb::GeneratedMessage<TestPackedTypes, TestPackedTypes.Builder> {

     private static readonly TestPackedTypes defaultInstance = new Builder().BuildPartial();

     public static TestPackedTypes DefaultInstance {

@@ -14601,6 +14804,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestPackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -15266,6 +15472,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestUnpackedTypes : pb::GeneratedMessage<TestUnpackedTypes, TestUnpackedTypes.Builder> {

     private static readonly TestUnpackedTypes defaultInstance = new Builder().BuildPartial();

     public static TestUnpackedTypes DefaultInstance {

@@ -15695,6 +15904,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestUnpackedTypes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16290,6 +16502,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestPackedExtensions : pb::ExtendableMessage<TestPackedExtensions, TestPackedExtensions.Builder> {

     private static readonly TestPackedExtensions defaultInstance = new Builder().BuildPartial();

     public static TestPackedExtensions DefaultInstance {

@@ -16377,6 +16592,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::ExtendableBuilder<TestPackedExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -16469,6 +16687,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestDynamicExtensions : pb::GeneratedMessage<TestDynamicExtensions, TestDynamicExtensions.Builder> {

     private static readonly TestDynamicExtensions defaultInstance = new Builder().BuildPartial();

     public static TestDynamicExtensions DefaultInstance {

@@ -16492,13 +16713,21 @@
     }

     

     #region Nested types

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public static class Types {

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public enum DynamicEnumType {

         DYNAMIC_FOO = 2200,

         DYNAMIC_BAR = 2201,

         DYNAMIC_BAZ = 2202,

       }

       

+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

       public sealed partial class DynamicMessageType : pb::GeneratedMessage<DynamicMessageType, DynamicMessageType.Builder> {

         private static readonly DynamicMessageType defaultInstance = new Builder().BuildPartial();

         public static DynamicMessageType DefaultInstance {

@@ -16598,6 +16827,9 @@
           return (Builder) new Builder().MergeFrom(prototype);

         }

         

+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

         public sealed partial class Builder : pb::GeneratedBuilder<DynamicMessageType, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -16915,6 +17147,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestDynamicExtensions, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17270,6 +17505,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class TestRepeatedScalarDifferentTagSizes : pb::GeneratedMessage<TestRepeatedScalarDifferentTagSizes, TestRepeatedScalarDifferentTagSizes.Builder> {

     private static readonly TestRepeatedScalarDifferentTagSizes defaultInstance = new Builder().BuildPartial();

     public static TestRepeatedScalarDifferentTagSizes DefaultInstance {

@@ -17503,6 +17741,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<TestRepeatedScalarDifferentTagSizes, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17813,6 +18054,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FooRequest : pb::GeneratedMessage<FooRequest, FooRequest.Builder> {

     private static readonly FooRequest defaultInstance = new Builder().BuildPartial();

     public static FooRequest DefaultInstance {

@@ -17896,6 +18140,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -17987,6 +18234,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class FooResponse : pb::GeneratedMessage<FooResponse, FooResponse.Builder> {

     private static readonly FooResponse defaultInstance = new Builder().BuildPartial();

     public static FooResponse DefaultInstance {

@@ -18070,6 +18320,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<FooResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -18161,6 +18414,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class BarRequest : pb::GeneratedMessage<BarRequest, BarRequest.Builder> {

     private static readonly BarRequest defaultInstance = new Builder().BuildPartial();

     public static BarRequest DefaultInstance {

@@ -18244,6 +18500,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarRequest, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -18335,6 +18594,9 @@
     }

   }

   

+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

   public sealed partial class BarResponse : pb::GeneratedMessage<BarResponse, BarResponse.Builder> {

     private static readonly BarResponse defaultInstance = new Builder().BuildPartial();

     public static BarResponse DefaultInstance {

@@ -18418,6 +18680,9 @@
       return (Builder) new Builder().MergeFrom(prototype);

     }

     

+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

     public sealed partial class Builder : pb::GeneratedBuilder<BarResponse, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }