|  | @@ -0,0 +1,1873 @@
 | 
	
		
			
				|  |  | +// Generated by the protocol buffer compiler.  DO NOT EDIT!
 | 
	
		
			
				|  |  | +// source: route_guide.proto
 | 
	
		
			
				|  |  | +#pragma warning disable 1591, 0612, 3021
 | 
	
		
			
				|  |  | +#region Designer generated code
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +using pb = global::Google.ProtocolBuffers;
 | 
	
		
			
				|  |  | +using pbc = global::Google.ProtocolBuffers.Collections;
 | 
	
		
			
				|  |  | +using pbd = global::Google.ProtocolBuffers.Descriptors;
 | 
	
		
			
				|  |  | +using scg = global::System.Collections.Generic;
 | 
	
		
			
				|  |  | +namespace examples {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  namespace Proto {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public static partial class RouteGuide {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      #region Extension registration
 | 
	
		
			
				|  |  | +      public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      #endregion
 | 
	
		
			
				|  |  | +      #region Static variables
 | 
	
		
			
				|  |  | +      internal static pbd::MessageDescriptor internal__static_examples_Point__Descriptor;
 | 
	
		
			
				|  |  | +      internal static pb::FieldAccess.FieldAccessorTable<global::examples.Point, global::examples.Point.Builder> internal__static_examples_Point__FieldAccessorTable;
 | 
	
		
			
				|  |  | +      internal static pbd::MessageDescriptor internal__static_examples_Rectangle__Descriptor;
 | 
	
		
			
				|  |  | +      internal static pb::FieldAccess.FieldAccessorTable<global::examples.Rectangle, global::examples.Rectangle.Builder> internal__static_examples_Rectangle__FieldAccessorTable;
 | 
	
		
			
				|  |  | +      internal static pbd::MessageDescriptor internal__static_examples_Feature__Descriptor;
 | 
	
		
			
				|  |  | +      internal static pb::FieldAccess.FieldAccessorTable<global::examples.Feature, global::examples.Feature.Builder> internal__static_examples_Feature__FieldAccessorTable;
 | 
	
		
			
				|  |  | +      internal static pbd::MessageDescriptor internal__static_examples_RouteNote__Descriptor;
 | 
	
		
			
				|  |  | +      internal static pb::FieldAccess.FieldAccessorTable<global::examples.RouteNote, global::examples.RouteNote.Builder> internal__static_examples_RouteNote__FieldAccessorTable;
 | 
	
		
			
				|  |  | +      internal static pbd::MessageDescriptor internal__static_examples_RouteSummary__Descriptor;
 | 
	
		
			
				|  |  | +      internal static pb::FieldAccess.FieldAccessorTable<global::examples.RouteSummary, global::examples.RouteSummary.Builder> internal__static_examples_RouteSummary__FieldAccessorTable;
 | 
	
		
			
				|  |  | +      #endregion
 | 
	
		
			
				|  |  | +      #region Descriptor
 | 
	
		
			
				|  |  | +      public static pbd::FileDescriptor Descriptor {
 | 
	
		
			
				|  |  | +        get { return descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      private static pbd::FileDescriptor descriptor;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      static RouteGuide() {
 | 
	
		
			
				|  |  | +        byte[] descriptorData = global::System.Convert.FromBase64String(
 | 
	
		
			
				|  |  | +            string.Concat(
 | 
	
		
			
				|  |  | +              "ChFyb3V0ZV9ndWlkZS5wcm90bxIIZXhhbXBsZXMiLAoFUG9pbnQSEAoIbGF0", 
 | 
	
		
			
				|  |  | +              "aXR1ZGUYASABKAUSEQoJbG9uZ2l0dWRlGAIgASgFIkUKCVJlY3RhbmdsZRIb", 
 | 
	
		
			
				|  |  | +              "CgJsbxgBIAEoCzIPLmV4YW1wbGVzLlBvaW50EhsKAmhpGAIgASgLMg8uZXhh", 
 | 
	
		
			
				|  |  | +              "bXBsZXMuUG9pbnQiOgoHRmVhdHVyZRIMCgRuYW1lGAEgASgJEiEKCGxvY2F0", 
 | 
	
		
			
				|  |  | +              "aW9uGAIgASgLMg8uZXhhbXBsZXMuUG9pbnQiPwoJUm91dGVOb3RlEiEKCGxv", 
 | 
	
		
			
				|  |  | +              "Y2F0aW9uGAEgASgLMg8uZXhhbXBsZXMuUG9pbnQSDwoHbWVzc2FnZRgCIAEo", 
 | 
	
		
			
				|  |  | +              "CSJiCgxSb3V0ZVN1bW1hcnkSEwoLcG9pbnRfY291bnQYASABKAUSFQoNZmVh", 
 | 
	
		
			
				|  |  | +              "dHVyZV9jb3VudBgCIAEoBRIQCghkaXN0YW5jZRgDIAEoBRIUCgxlbGFwc2Vk", 
 | 
	
		
			
				|  |  | +              "X3RpbWUYBCABKAUy9QEKClJvdXRlR3VpZGUSMgoKR2V0RmVhdHVyZRIPLmV4", 
 | 
	
		
			
				|  |  | +              "YW1wbGVzLlBvaW50GhEuZXhhbXBsZXMuRmVhdHVyZSIAEjoKDExpc3RGZWF0", 
 | 
	
		
			
				|  |  | +              "dXJlcxITLmV4YW1wbGVzLlJlY3RhbmdsZRoRLmV4YW1wbGVzLkZlYXR1cmUi", 
 | 
	
		
			
				|  |  | +              "ADABEjoKC1JlY29yZFJvdXRlEg8uZXhhbXBsZXMuUG9pbnQaFi5leGFtcGxl", 
 | 
	
		
			
				|  |  | +              "cy5Sb3V0ZVN1bW1hcnkiACgBEjsKCVJvdXRlQ2hhdBITLmV4YW1wbGVzLlJv", 
 | 
	
		
			
				|  |  | +            "dXRlTm90ZRoTLmV4YW1wbGVzLlJvdXRlTm90ZSIAKAEwAQ=="));
 | 
	
		
			
				|  |  | +        pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
 | 
	
		
			
				|  |  | +          descriptor = root;
 | 
	
		
			
				|  |  | +          internal__static_examples_Point__Descriptor = Descriptor.MessageTypes[0];
 | 
	
		
			
				|  |  | +          internal__static_examples_Point__FieldAccessorTable = 
 | 
	
		
			
				|  |  | +              new pb::FieldAccess.FieldAccessorTable<global::examples.Point, global::examples.Point.Builder>(internal__static_examples_Point__Descriptor,
 | 
	
		
			
				|  |  | +                  new string[] { "Latitude", "Longitude", });
 | 
	
		
			
				|  |  | +          internal__static_examples_Rectangle__Descriptor = Descriptor.MessageTypes[1];
 | 
	
		
			
				|  |  | +          internal__static_examples_Rectangle__FieldAccessorTable = 
 | 
	
		
			
				|  |  | +              new pb::FieldAccess.FieldAccessorTable<global::examples.Rectangle, global::examples.Rectangle.Builder>(internal__static_examples_Rectangle__Descriptor,
 | 
	
		
			
				|  |  | +                  new string[] { "Lo", "Hi", });
 | 
	
		
			
				|  |  | +          internal__static_examples_Feature__Descriptor = Descriptor.MessageTypes[2];
 | 
	
		
			
				|  |  | +          internal__static_examples_Feature__FieldAccessorTable = 
 | 
	
		
			
				|  |  | +              new pb::FieldAccess.FieldAccessorTable<global::examples.Feature, global::examples.Feature.Builder>(internal__static_examples_Feature__Descriptor,
 | 
	
		
			
				|  |  | +                  new string[] { "Name", "Location", });
 | 
	
		
			
				|  |  | +          internal__static_examples_RouteNote__Descriptor = Descriptor.MessageTypes[3];
 | 
	
		
			
				|  |  | +          internal__static_examples_RouteNote__FieldAccessorTable = 
 | 
	
		
			
				|  |  | +              new pb::FieldAccess.FieldAccessorTable<global::examples.RouteNote, global::examples.RouteNote.Builder>(internal__static_examples_RouteNote__Descriptor,
 | 
	
		
			
				|  |  | +                  new string[] { "Location", "Message", });
 | 
	
		
			
				|  |  | +          internal__static_examples_RouteSummary__Descriptor = Descriptor.MessageTypes[4];
 | 
	
		
			
				|  |  | +          internal__static_examples_RouteSummary__FieldAccessorTable = 
 | 
	
		
			
				|  |  | +              new pb::FieldAccess.FieldAccessorTable<global::examples.RouteSummary, global::examples.RouteSummary.Builder>(internal__static_examples_RouteSummary__Descriptor,
 | 
	
		
			
				|  |  | +                  new string[] { "PointCount", "FeatureCount", "Distance", "ElapsedTime", });
 | 
	
		
			
				|  |  | +          pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();
 | 
	
		
			
				|  |  | +          RegisterAllExtensions(registry);
 | 
	
		
			
				|  |  | +          return registry;
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
 | 
	
		
			
				|  |  | +            new pbd::FileDescriptor[] {
 | 
	
		
			
				|  |  | +            }, assigner);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      #endregion
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  #region Messages
 | 
	
		
			
				|  |  | +  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +  public sealed partial class Point : pb::GeneratedMessage<Point, Point.Builder> {
 | 
	
		
			
				|  |  | +    private Point() { }
 | 
	
		
			
				|  |  | +    private static readonly Point defaultInstance = new Point().MakeReadOnly();
 | 
	
		
			
				|  |  | +    private static readonly string[] _pointFieldNames = new string[] { "latitude", "longitude" };
 | 
	
		
			
				|  |  | +    private static readonly uint[] _pointFieldTags = new uint[] { 8, 16 };
 | 
	
		
			
				|  |  | +    public static Point DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override Point DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override Point ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static pbd::MessageDescriptor Descriptor {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Point__Descriptor; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override pb::FieldAccess.FieldAccessorTable<Point, Point.Builder> InternalFieldAccessors {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Point__FieldAccessorTable; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int LatitudeFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasLatitude;
 | 
	
		
			
				|  |  | +    private int latitude_;
 | 
	
		
			
				|  |  | +    public bool HasLatitude {
 | 
	
		
			
				|  |  | +      get { return hasLatitude; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int Latitude {
 | 
	
		
			
				|  |  | +      get { return latitude_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int LongitudeFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasLongitude;
 | 
	
		
			
				|  |  | +    private int longitude_;
 | 
	
		
			
				|  |  | +    public bool HasLongitude {
 | 
	
		
			
				|  |  | +      get { return hasLongitude; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int Longitude {
 | 
	
		
			
				|  |  | +      get { return longitude_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::ICodedOutputStream output) {
 | 
	
		
			
				|  |  | +      CalcSerializedSize();
 | 
	
		
			
				|  |  | +      string[] field_names = _pointFieldNames;
 | 
	
		
			
				|  |  | +      if (hasLatitude) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(1, field_names[0], Latitude);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasLongitude) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(2, field_names[1], Longitude);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      UnknownFields.WriteTo(output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        return CalcSerializedSize();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int CalcSerializedSize() {
 | 
	
		
			
				|  |  | +      int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +      if (size != -1) return size;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      size = 0;
 | 
	
		
			
				|  |  | +      if (hasLatitude) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(1, Latitude);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasLongitude) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(2, Longitude);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      size += UnknownFields.SerializedSize;
 | 
	
		
			
				|  |  | +      memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +      return size;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Point ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    private Point MakeReadOnly() {
 | 
	
		
			
				|  |  | +      return this;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public override Builder ToBuilder() { return CreateBuilder(this); }
 | 
	
		
			
				|  |  | +    public override Builder CreateBuilderForType() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder(Point prototype) {
 | 
	
		
			
				|  |  | +      return new Builder(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilder<Point, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      internal Builder(Point cloneFrom) {
 | 
	
		
			
				|  |  | +        result = cloneFrom;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private bool resultIsReadOnly;
 | 
	
		
			
				|  |  | +      private Point result;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private Point PrepareBuilder() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          Point original = result;
 | 
	
		
			
				|  |  | +          result = new Point();
 | 
	
		
			
				|  |  | +          resultIsReadOnly = false;
 | 
	
		
			
				|  |  | +          MergeFrom(original);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override bool IsInitialized {
 | 
	
		
			
				|  |  | +        get { return result.IsInitialized; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      protected override Point MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return PrepareBuilder(); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return new Builder(result);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override pbd::MessageDescriptor DescriptorForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Point.Descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Point DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Point.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Point BuildPartial() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return result.MakeReadOnly();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessage other) {
 | 
	
		
			
				|  |  | +        if (other is Point) {
 | 
	
		
			
				|  |  | +          return MergeFrom((Point) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(Point other) {
 | 
	
		
			
				|  |  | +        if (other == global::examples.Point.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (other.HasLatitude) {
 | 
	
		
			
				|  |  | +          Latitude = other.Latitude;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasLongitude) {
 | 
	
		
			
				|  |  | +          Longitude = other.Longitude;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.MergeUnknownFields(other.UnknownFields);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        pb::UnknownFieldSet.Builder unknownFields = null;
 | 
	
		
			
				|  |  | +        uint tag;
 | 
	
		
			
				|  |  | +        string field_name;
 | 
	
		
			
				|  |  | +        while (input.ReadTag(out tag, out field_name)) {
 | 
	
		
			
				|  |  | +          if(tag == 0 && field_name != null) {
 | 
	
		
			
				|  |  | +            int field_ordinal = global::System.Array.BinarySearch(_pointFieldNames, field_name, global::System.StringComparer.Ordinal);
 | 
	
		
			
				|  |  | +            if(field_ordinal >= 0)
 | 
	
		
			
				|  |  | +              tag = _pointFieldTags[field_ordinal];
 | 
	
		
			
				|  |  | +            else {
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              throw pb::InvalidProtocolBufferException.InvalidTag();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                if (unknownFields != null) {
 | 
	
		
			
				|  |  | +                  this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 8: {
 | 
	
		
			
				|  |  | +              result.hasLatitude = input.ReadInt32(ref result.latitude_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 16: {
 | 
	
		
			
				|  |  | +              result.hasLongitude = input.ReadInt32(ref result.longitude_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (unknownFields != null) {
 | 
	
		
			
				|  |  | +          this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasLatitude {
 | 
	
		
			
				|  |  | +        get { return result.hasLatitude; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int Latitude {
 | 
	
		
			
				|  |  | +        get { return result.Latitude; }
 | 
	
		
			
				|  |  | +        set { SetLatitude(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLatitude(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLatitude = true;
 | 
	
		
			
				|  |  | +        result.latitude_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearLatitude() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLatitude = false;
 | 
	
		
			
				|  |  | +        result.latitude_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasLongitude {
 | 
	
		
			
				|  |  | +        get { return result.hasLongitude; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int Longitude {
 | 
	
		
			
				|  |  | +        get { return result.Longitude; }
 | 
	
		
			
				|  |  | +        set { SetLongitude(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLongitude(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLongitude = true;
 | 
	
		
			
				|  |  | +        result.longitude_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearLongitude() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLongitude = false;
 | 
	
		
			
				|  |  | +        result.longitude_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static Point() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::examples.Proto.RouteGuide.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +  public sealed partial class Rectangle : pb::GeneratedMessage<Rectangle, Rectangle.Builder> {
 | 
	
		
			
				|  |  | +    private Rectangle() { }
 | 
	
		
			
				|  |  | +    private static readonly Rectangle defaultInstance = new Rectangle().MakeReadOnly();
 | 
	
		
			
				|  |  | +    private static readonly string[] _rectangleFieldNames = new string[] { "hi", "lo" };
 | 
	
		
			
				|  |  | +    private static readonly uint[] _rectangleFieldTags = new uint[] { 18, 10 };
 | 
	
		
			
				|  |  | +    public static Rectangle DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override Rectangle DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override Rectangle ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static pbd::MessageDescriptor Descriptor {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Rectangle__Descriptor; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override pb::FieldAccess.FieldAccessorTable<Rectangle, Rectangle.Builder> InternalFieldAccessors {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Rectangle__FieldAccessorTable; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int LoFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasLo;
 | 
	
		
			
				|  |  | +    private global::examples.Point lo_;
 | 
	
		
			
				|  |  | +    public bool HasLo {
 | 
	
		
			
				|  |  | +      get { return hasLo; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::examples.Point Lo {
 | 
	
		
			
				|  |  | +      get { return lo_ ?? global::examples.Point.DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int HiFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasHi;
 | 
	
		
			
				|  |  | +    private global::examples.Point hi_;
 | 
	
		
			
				|  |  | +    public bool HasHi {
 | 
	
		
			
				|  |  | +      get { return hasHi; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::examples.Point Hi {
 | 
	
		
			
				|  |  | +      get { return hi_ ?? global::examples.Point.DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::ICodedOutputStream output) {
 | 
	
		
			
				|  |  | +      CalcSerializedSize();
 | 
	
		
			
				|  |  | +      string[] field_names = _rectangleFieldNames;
 | 
	
		
			
				|  |  | +      if (hasLo) {
 | 
	
		
			
				|  |  | +        output.WriteMessage(1, field_names[1], Lo);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasHi) {
 | 
	
		
			
				|  |  | +        output.WriteMessage(2, field_names[0], Hi);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      UnknownFields.WriteTo(output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        return CalcSerializedSize();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int CalcSerializedSize() {
 | 
	
		
			
				|  |  | +      int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +      if (size != -1) return size;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      size = 0;
 | 
	
		
			
				|  |  | +      if (hasLo) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeMessageSize(1, Lo);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasHi) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeMessageSize(2, Hi);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      size += UnknownFields.SerializedSize;
 | 
	
		
			
				|  |  | +      memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +      return size;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Rectangle ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    private Rectangle MakeReadOnly() {
 | 
	
		
			
				|  |  | +      return this;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public override Builder ToBuilder() { return CreateBuilder(this); }
 | 
	
		
			
				|  |  | +    public override Builder CreateBuilderForType() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder(Rectangle prototype) {
 | 
	
		
			
				|  |  | +      return new Builder(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilder<Rectangle, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      internal Builder(Rectangle cloneFrom) {
 | 
	
		
			
				|  |  | +        result = cloneFrom;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private bool resultIsReadOnly;
 | 
	
		
			
				|  |  | +      private Rectangle result;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private Rectangle PrepareBuilder() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          Rectangle original = result;
 | 
	
		
			
				|  |  | +          result = new Rectangle();
 | 
	
		
			
				|  |  | +          resultIsReadOnly = false;
 | 
	
		
			
				|  |  | +          MergeFrom(original);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override bool IsInitialized {
 | 
	
		
			
				|  |  | +        get { return result.IsInitialized; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      protected override Rectangle MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return PrepareBuilder(); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return new Builder(result);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override pbd::MessageDescriptor DescriptorForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Rectangle.Descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Rectangle DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Rectangle.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Rectangle BuildPartial() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return result.MakeReadOnly();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessage other) {
 | 
	
		
			
				|  |  | +        if (other is Rectangle) {
 | 
	
		
			
				|  |  | +          return MergeFrom((Rectangle) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(Rectangle other) {
 | 
	
		
			
				|  |  | +        if (other == global::examples.Rectangle.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (other.HasLo) {
 | 
	
		
			
				|  |  | +          MergeLo(other.Lo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasHi) {
 | 
	
		
			
				|  |  | +          MergeHi(other.Hi);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.MergeUnknownFields(other.UnknownFields);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        pb::UnknownFieldSet.Builder unknownFields = null;
 | 
	
		
			
				|  |  | +        uint tag;
 | 
	
		
			
				|  |  | +        string field_name;
 | 
	
		
			
				|  |  | +        while (input.ReadTag(out tag, out field_name)) {
 | 
	
		
			
				|  |  | +          if(tag == 0 && field_name != null) {
 | 
	
		
			
				|  |  | +            int field_ordinal = global::System.Array.BinarySearch(_rectangleFieldNames, field_name, global::System.StringComparer.Ordinal);
 | 
	
		
			
				|  |  | +            if(field_ordinal >= 0)
 | 
	
		
			
				|  |  | +              tag = _rectangleFieldTags[field_ordinal];
 | 
	
		
			
				|  |  | +            else {
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              throw pb::InvalidProtocolBufferException.InvalidTag();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                if (unknownFields != null) {
 | 
	
		
			
				|  |  | +                  this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 10: {
 | 
	
		
			
				|  |  | +              global::examples.Point.Builder subBuilder = global::examples.Point.CreateBuilder();
 | 
	
		
			
				|  |  | +              if (result.hasLo) {
 | 
	
		
			
				|  |  | +                subBuilder.MergeFrom(Lo);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              Lo = subBuilder.BuildPartial();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 18: {
 | 
	
		
			
				|  |  | +              global::examples.Point.Builder subBuilder = global::examples.Point.CreateBuilder();
 | 
	
		
			
				|  |  | +              if (result.hasHi) {
 | 
	
		
			
				|  |  | +                subBuilder.MergeFrom(Hi);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              Hi = subBuilder.BuildPartial();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (unknownFields != null) {
 | 
	
		
			
				|  |  | +          this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasLo {
 | 
	
		
			
				|  |  | +       get { return result.hasLo; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::examples.Point Lo {
 | 
	
		
			
				|  |  | +        get { return result.Lo; }
 | 
	
		
			
				|  |  | +        set { SetLo(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLo(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLo = true;
 | 
	
		
			
				|  |  | +        result.lo_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLo(global::examples.Point.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLo = true;
 | 
	
		
			
				|  |  | +        result.lo_ = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder MergeLo(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (result.hasLo &&
 | 
	
		
			
				|  |  | +            result.lo_ != global::examples.Point.DefaultInstance) {
 | 
	
		
			
				|  |  | +            result.lo_ = global::examples.Point.CreateBuilder(result.lo_).MergeFrom(value).BuildPartial();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result.lo_ = value;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result.hasLo = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearLo() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLo = false;
 | 
	
		
			
				|  |  | +        result.lo_ = null;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasHi {
 | 
	
		
			
				|  |  | +       get { return result.hasHi; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::examples.Point Hi {
 | 
	
		
			
				|  |  | +        get { return result.Hi; }
 | 
	
		
			
				|  |  | +        set { SetHi(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetHi(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasHi = true;
 | 
	
		
			
				|  |  | +        result.hi_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetHi(global::examples.Point.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasHi = true;
 | 
	
		
			
				|  |  | +        result.hi_ = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder MergeHi(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (result.hasHi &&
 | 
	
		
			
				|  |  | +            result.hi_ != global::examples.Point.DefaultInstance) {
 | 
	
		
			
				|  |  | +            result.hi_ = global::examples.Point.CreateBuilder(result.hi_).MergeFrom(value).BuildPartial();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result.hi_ = value;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result.hasHi = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearHi() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasHi = false;
 | 
	
		
			
				|  |  | +        result.hi_ = null;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static Rectangle() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::examples.Proto.RouteGuide.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +  public sealed partial class Feature : pb::GeneratedMessage<Feature, Feature.Builder> {
 | 
	
		
			
				|  |  | +    private Feature() { }
 | 
	
		
			
				|  |  | +    private static readonly Feature defaultInstance = new Feature().MakeReadOnly();
 | 
	
		
			
				|  |  | +    private static readonly string[] _featureFieldNames = new string[] { "location", "name" };
 | 
	
		
			
				|  |  | +    private static readonly uint[] _featureFieldTags = new uint[] { 18, 10 };
 | 
	
		
			
				|  |  | +    public static Feature DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override Feature DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override Feature ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static pbd::MessageDescriptor Descriptor {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Feature__Descriptor; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override pb::FieldAccess.FieldAccessorTable<Feature, Feature.Builder> InternalFieldAccessors {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_Feature__FieldAccessorTable; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int NameFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasName;
 | 
	
		
			
				|  |  | +    private string name_ = "";
 | 
	
		
			
				|  |  | +    public bool HasName {
 | 
	
		
			
				|  |  | +      get { return hasName; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public string Name {
 | 
	
		
			
				|  |  | +      get { return name_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int LocationFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasLocation;
 | 
	
		
			
				|  |  | +    private global::examples.Point location_;
 | 
	
		
			
				|  |  | +    public bool HasLocation {
 | 
	
		
			
				|  |  | +      get { return hasLocation; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::examples.Point Location {
 | 
	
		
			
				|  |  | +      get { return location_ ?? global::examples.Point.DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::ICodedOutputStream output) {
 | 
	
		
			
				|  |  | +      CalcSerializedSize();
 | 
	
		
			
				|  |  | +      string[] field_names = _featureFieldNames;
 | 
	
		
			
				|  |  | +      if (hasName) {
 | 
	
		
			
				|  |  | +        output.WriteString(1, field_names[1], Name);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasLocation) {
 | 
	
		
			
				|  |  | +        output.WriteMessage(2, field_names[0], Location);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      UnknownFields.WriteTo(output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        return CalcSerializedSize();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int CalcSerializedSize() {
 | 
	
		
			
				|  |  | +      int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +      if (size != -1) return size;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      size = 0;
 | 
	
		
			
				|  |  | +      if (hasName) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeStringSize(1, Name);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasLocation) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeMessageSize(2, Location);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      size += UnknownFields.SerializedSize;
 | 
	
		
			
				|  |  | +      memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +      return size;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static Feature ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    private Feature MakeReadOnly() {
 | 
	
		
			
				|  |  | +      return this;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public override Builder ToBuilder() { return CreateBuilder(this); }
 | 
	
		
			
				|  |  | +    public override Builder CreateBuilderForType() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder(Feature prototype) {
 | 
	
		
			
				|  |  | +      return new Builder(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilder<Feature, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      internal Builder(Feature cloneFrom) {
 | 
	
		
			
				|  |  | +        result = cloneFrom;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private bool resultIsReadOnly;
 | 
	
		
			
				|  |  | +      private Feature result;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private Feature PrepareBuilder() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          Feature original = result;
 | 
	
		
			
				|  |  | +          result = new Feature();
 | 
	
		
			
				|  |  | +          resultIsReadOnly = false;
 | 
	
		
			
				|  |  | +          MergeFrom(original);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override bool IsInitialized {
 | 
	
		
			
				|  |  | +        get { return result.IsInitialized; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      protected override Feature MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return PrepareBuilder(); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return new Builder(result);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override pbd::MessageDescriptor DescriptorForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Feature.Descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Feature DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.Feature.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Feature BuildPartial() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return result.MakeReadOnly();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessage other) {
 | 
	
		
			
				|  |  | +        if (other is Feature) {
 | 
	
		
			
				|  |  | +          return MergeFrom((Feature) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(Feature other) {
 | 
	
		
			
				|  |  | +        if (other == global::examples.Feature.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (other.HasName) {
 | 
	
		
			
				|  |  | +          Name = other.Name;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasLocation) {
 | 
	
		
			
				|  |  | +          MergeLocation(other.Location);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.MergeUnknownFields(other.UnknownFields);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        pb::UnknownFieldSet.Builder unknownFields = null;
 | 
	
		
			
				|  |  | +        uint tag;
 | 
	
		
			
				|  |  | +        string field_name;
 | 
	
		
			
				|  |  | +        while (input.ReadTag(out tag, out field_name)) {
 | 
	
		
			
				|  |  | +          if(tag == 0 && field_name != null) {
 | 
	
		
			
				|  |  | +            int field_ordinal = global::System.Array.BinarySearch(_featureFieldNames, field_name, global::System.StringComparer.Ordinal);
 | 
	
		
			
				|  |  | +            if(field_ordinal >= 0)
 | 
	
		
			
				|  |  | +              tag = _featureFieldTags[field_ordinal];
 | 
	
		
			
				|  |  | +            else {
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              throw pb::InvalidProtocolBufferException.InvalidTag();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                if (unknownFields != null) {
 | 
	
		
			
				|  |  | +                  this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 10: {
 | 
	
		
			
				|  |  | +              result.hasName = input.ReadString(ref result.name_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 18: {
 | 
	
		
			
				|  |  | +              global::examples.Point.Builder subBuilder = global::examples.Point.CreateBuilder();
 | 
	
		
			
				|  |  | +              if (result.hasLocation) {
 | 
	
		
			
				|  |  | +                subBuilder.MergeFrom(Location);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              Location = subBuilder.BuildPartial();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (unknownFields != null) {
 | 
	
		
			
				|  |  | +          this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasName {
 | 
	
		
			
				|  |  | +        get { return result.hasName; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public string Name {
 | 
	
		
			
				|  |  | +        get { return result.Name; }
 | 
	
		
			
				|  |  | +        set { SetName(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetName(string value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasName = true;
 | 
	
		
			
				|  |  | +        result.name_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearName() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasName = false;
 | 
	
		
			
				|  |  | +        result.name_ = "";
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasLocation {
 | 
	
		
			
				|  |  | +       get { return result.hasLocation; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::examples.Point Location {
 | 
	
		
			
				|  |  | +        get { return result.Location; }
 | 
	
		
			
				|  |  | +        set { SetLocation(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLocation(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        result.location_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLocation(global::examples.Point.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        result.location_ = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder MergeLocation(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (result.hasLocation &&
 | 
	
		
			
				|  |  | +            result.location_ != global::examples.Point.DefaultInstance) {
 | 
	
		
			
				|  |  | +            result.location_ = global::examples.Point.CreateBuilder(result.location_).MergeFrom(value).BuildPartial();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result.location_ = value;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearLocation() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = false;
 | 
	
		
			
				|  |  | +        result.location_ = null;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static Feature() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::examples.Proto.RouteGuide.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +  public sealed partial class RouteNote : pb::GeneratedMessage<RouteNote, RouteNote.Builder> {
 | 
	
		
			
				|  |  | +    private RouteNote() { }
 | 
	
		
			
				|  |  | +    private static readonly RouteNote defaultInstance = new RouteNote().MakeReadOnly();
 | 
	
		
			
				|  |  | +    private static readonly string[] _routeNoteFieldNames = new string[] { "location", "message" };
 | 
	
		
			
				|  |  | +    private static readonly uint[] _routeNoteFieldTags = new uint[] { 10, 18 };
 | 
	
		
			
				|  |  | +    public static RouteNote DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override RouteNote DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override RouteNote ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static pbd::MessageDescriptor Descriptor {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_RouteNote__Descriptor; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override pb::FieldAccess.FieldAccessorTable<RouteNote, RouteNote.Builder> InternalFieldAccessors {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_RouteNote__FieldAccessorTable; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int LocationFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasLocation;
 | 
	
		
			
				|  |  | +    private global::examples.Point location_;
 | 
	
		
			
				|  |  | +    public bool HasLocation {
 | 
	
		
			
				|  |  | +      get { return hasLocation; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::examples.Point Location {
 | 
	
		
			
				|  |  | +      get { return location_ ?? global::examples.Point.DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int MessageFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasMessage;
 | 
	
		
			
				|  |  | +    private string message_ = "";
 | 
	
		
			
				|  |  | +    public bool HasMessage {
 | 
	
		
			
				|  |  | +      get { return hasMessage; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public string Message {
 | 
	
		
			
				|  |  | +      get { return message_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::ICodedOutputStream output) {
 | 
	
		
			
				|  |  | +      CalcSerializedSize();
 | 
	
		
			
				|  |  | +      string[] field_names = _routeNoteFieldNames;
 | 
	
		
			
				|  |  | +      if (hasLocation) {
 | 
	
		
			
				|  |  | +        output.WriteMessage(1, field_names[0], Location);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasMessage) {
 | 
	
		
			
				|  |  | +        output.WriteString(2, field_names[1], Message);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      UnknownFields.WriteTo(output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        return CalcSerializedSize();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int CalcSerializedSize() {
 | 
	
		
			
				|  |  | +      int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +      if (size != -1) return size;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      size = 0;
 | 
	
		
			
				|  |  | +      if (hasLocation) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeMessageSize(1, Location);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasMessage) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeStringSize(2, Message);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      size += UnknownFields.SerializedSize;
 | 
	
		
			
				|  |  | +      memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +      return size;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteNote ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    private RouteNote MakeReadOnly() {
 | 
	
		
			
				|  |  | +      return this;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public override Builder ToBuilder() { return CreateBuilder(this); }
 | 
	
		
			
				|  |  | +    public override Builder CreateBuilderForType() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder(RouteNote prototype) {
 | 
	
		
			
				|  |  | +      return new Builder(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilder<RouteNote, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      internal Builder(RouteNote cloneFrom) {
 | 
	
		
			
				|  |  | +        result = cloneFrom;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private bool resultIsReadOnly;
 | 
	
		
			
				|  |  | +      private RouteNote result;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private RouteNote PrepareBuilder() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          RouteNote original = result;
 | 
	
		
			
				|  |  | +          result = new RouteNote();
 | 
	
		
			
				|  |  | +          resultIsReadOnly = false;
 | 
	
		
			
				|  |  | +          MergeFrom(original);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override bool IsInitialized {
 | 
	
		
			
				|  |  | +        get { return result.IsInitialized; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      protected override RouteNote MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return PrepareBuilder(); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return new Builder(result);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override pbd::MessageDescriptor DescriptorForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.RouteNote.Descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override RouteNote DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.RouteNote.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override RouteNote BuildPartial() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return result.MakeReadOnly();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessage other) {
 | 
	
		
			
				|  |  | +        if (other is RouteNote) {
 | 
	
		
			
				|  |  | +          return MergeFrom((RouteNote) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(RouteNote other) {
 | 
	
		
			
				|  |  | +        if (other == global::examples.RouteNote.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (other.HasLocation) {
 | 
	
		
			
				|  |  | +          MergeLocation(other.Location);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasMessage) {
 | 
	
		
			
				|  |  | +          Message = other.Message;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.MergeUnknownFields(other.UnknownFields);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        pb::UnknownFieldSet.Builder unknownFields = null;
 | 
	
		
			
				|  |  | +        uint tag;
 | 
	
		
			
				|  |  | +        string field_name;
 | 
	
		
			
				|  |  | +        while (input.ReadTag(out tag, out field_name)) {
 | 
	
		
			
				|  |  | +          if(tag == 0 && field_name != null) {
 | 
	
		
			
				|  |  | +            int field_ordinal = global::System.Array.BinarySearch(_routeNoteFieldNames, field_name, global::System.StringComparer.Ordinal);
 | 
	
		
			
				|  |  | +            if(field_ordinal >= 0)
 | 
	
		
			
				|  |  | +              tag = _routeNoteFieldTags[field_ordinal];
 | 
	
		
			
				|  |  | +            else {
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              throw pb::InvalidProtocolBufferException.InvalidTag();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                if (unknownFields != null) {
 | 
	
		
			
				|  |  | +                  this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 10: {
 | 
	
		
			
				|  |  | +              global::examples.Point.Builder subBuilder = global::examples.Point.CreateBuilder();
 | 
	
		
			
				|  |  | +              if (result.hasLocation) {
 | 
	
		
			
				|  |  | +                subBuilder.MergeFrom(Location);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              Location = subBuilder.BuildPartial();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 18: {
 | 
	
		
			
				|  |  | +              result.hasMessage = input.ReadString(ref result.message_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (unknownFields != null) {
 | 
	
		
			
				|  |  | +          this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasLocation {
 | 
	
		
			
				|  |  | +       get { return result.hasLocation; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::examples.Point Location {
 | 
	
		
			
				|  |  | +        get { return result.Location; }
 | 
	
		
			
				|  |  | +        set { SetLocation(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLocation(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        result.location_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetLocation(global::examples.Point.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        result.location_ = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder MergeLocation(global::examples.Point value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (result.hasLocation &&
 | 
	
		
			
				|  |  | +            result.location_ != global::examples.Point.DefaultInstance) {
 | 
	
		
			
				|  |  | +            result.location_ = global::examples.Point.CreateBuilder(result.location_).MergeFrom(value).BuildPartial();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result.location_ = value;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result.hasLocation = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearLocation() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasLocation = false;
 | 
	
		
			
				|  |  | +        result.location_ = null;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasMessage {
 | 
	
		
			
				|  |  | +        get { return result.hasMessage; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public string Message {
 | 
	
		
			
				|  |  | +        get { return result.Message; }
 | 
	
		
			
				|  |  | +        set { SetMessage(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetMessage(string value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasMessage = true;
 | 
	
		
			
				|  |  | +        result.message_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearMessage() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasMessage = false;
 | 
	
		
			
				|  |  | +        result.message_ = "";
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static RouteNote() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::examples.Proto.RouteGuide.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +  public sealed partial class RouteSummary : pb::GeneratedMessage<RouteSummary, RouteSummary.Builder> {
 | 
	
		
			
				|  |  | +    private RouteSummary() { }
 | 
	
		
			
				|  |  | +    private static readonly RouteSummary defaultInstance = new RouteSummary().MakeReadOnly();
 | 
	
		
			
				|  |  | +    private static readonly string[] _routeSummaryFieldNames = new string[] { "distance", "elapsed_time", "feature_count", "point_count" };
 | 
	
		
			
				|  |  | +    private static readonly uint[] _routeSummaryFieldTags = new uint[] { 24, 32, 16, 8 };
 | 
	
		
			
				|  |  | +    public static RouteSummary DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override RouteSummary DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return DefaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override RouteSummary ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static pbd::MessageDescriptor Descriptor {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_RouteSummary__Descriptor; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    protected override pb::FieldAccess.FieldAccessorTable<RouteSummary, RouteSummary.Builder> InternalFieldAccessors {
 | 
	
		
			
				|  |  | +      get { return global::examples.Proto.RouteGuide.internal__static_examples_RouteSummary__FieldAccessorTable; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int PointCountFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasPointCount;
 | 
	
		
			
				|  |  | +    private int pointCount_;
 | 
	
		
			
				|  |  | +    public bool HasPointCount {
 | 
	
		
			
				|  |  | +      get { return hasPointCount; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int PointCount {
 | 
	
		
			
				|  |  | +      get { return pointCount_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int FeatureCountFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasFeatureCount;
 | 
	
		
			
				|  |  | +    private int featureCount_;
 | 
	
		
			
				|  |  | +    public bool HasFeatureCount {
 | 
	
		
			
				|  |  | +      get { return hasFeatureCount; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int FeatureCount {
 | 
	
		
			
				|  |  | +      get { return featureCount_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int DistanceFieldNumber = 3;
 | 
	
		
			
				|  |  | +    private bool hasDistance;
 | 
	
		
			
				|  |  | +    private int distance_;
 | 
	
		
			
				|  |  | +    public bool HasDistance {
 | 
	
		
			
				|  |  | +      get { return hasDistance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int Distance {
 | 
	
		
			
				|  |  | +      get { return distance_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public const int ElapsedTimeFieldNumber = 4;
 | 
	
		
			
				|  |  | +    private bool hasElapsedTime;
 | 
	
		
			
				|  |  | +    private int elapsedTime_;
 | 
	
		
			
				|  |  | +    public bool HasElapsedTime {
 | 
	
		
			
				|  |  | +      get { return hasElapsedTime; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int ElapsedTime {
 | 
	
		
			
				|  |  | +      get { return elapsedTime_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::ICodedOutputStream output) {
 | 
	
		
			
				|  |  | +      CalcSerializedSize();
 | 
	
		
			
				|  |  | +      string[] field_names = _routeSummaryFieldNames;
 | 
	
		
			
				|  |  | +      if (hasPointCount) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(1, field_names[3], PointCount);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasFeatureCount) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(2, field_names[2], FeatureCount);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasDistance) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(3, field_names[0], Distance);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasElapsedTime) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(4, field_names[1], ElapsedTime);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      UnknownFields.WriteTo(output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        return CalcSerializedSize();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private int CalcSerializedSize() {
 | 
	
		
			
				|  |  | +      int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +      if (size != -1) return size;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      size = 0;
 | 
	
		
			
				|  |  | +      if (hasPointCount) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(1, PointCount);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasFeatureCount) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(2, FeatureCount);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasDistance) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(3, Distance);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (hasElapsedTime) {
 | 
	
		
			
				|  |  | +        size += pb::CodedOutputStream.ComputeInt32Size(4, ElapsedTime);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      size += UnknownFields.SerializedSize;
 | 
	
		
			
				|  |  | +      memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +      return size;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static RouteSummary ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    private RouteSummary MakeReadOnly() {
 | 
	
		
			
				|  |  | +      return this;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public override Builder ToBuilder() { return CreateBuilder(this); }
 | 
	
		
			
				|  |  | +    public override Builder CreateBuilderForType() { return new Builder(); }
 | 
	
		
			
				|  |  | +    public static Builder CreateBuilder(RouteSummary prototype) {
 | 
	
		
			
				|  |  | +      return new Builder(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilder<RouteSummary, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      internal Builder(RouteSummary cloneFrom) {
 | 
	
		
			
				|  |  | +        result = cloneFrom;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private bool resultIsReadOnly;
 | 
	
		
			
				|  |  | +      private RouteSummary result;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      private RouteSummary PrepareBuilder() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          RouteSummary original = result;
 | 
	
		
			
				|  |  | +          result = new RouteSummary();
 | 
	
		
			
				|  |  | +          resultIsReadOnly = false;
 | 
	
		
			
				|  |  | +          MergeFrom(original);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override bool IsInitialized {
 | 
	
		
			
				|  |  | +        get { return result.IsInitialized; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      protected override RouteSummary MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return PrepareBuilder(); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = DefaultInstance;
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return new Builder(result);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override pbd::MessageDescriptor DescriptorForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.RouteSummary.Descriptor; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override RouteSummary DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::examples.RouteSummary.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override RouteSummary BuildPartial() {
 | 
	
		
			
				|  |  | +        if (resultIsReadOnly) {
 | 
	
		
			
				|  |  | +          return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        resultIsReadOnly = true;
 | 
	
		
			
				|  |  | +        return result.MakeReadOnly();
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessage other) {
 | 
	
		
			
				|  |  | +        if (other is RouteSummary) {
 | 
	
		
			
				|  |  | +          return MergeFrom((RouteSummary) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(RouteSummary other) {
 | 
	
		
			
				|  |  | +        if (other == global::examples.RouteSummary.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        if (other.HasPointCount) {
 | 
	
		
			
				|  |  | +          PointCount = other.PointCount;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasFeatureCount) {
 | 
	
		
			
				|  |  | +          FeatureCount = other.FeatureCount;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasDistance) {
 | 
	
		
			
				|  |  | +          Distance = other.Distance;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasElapsedTime) {
 | 
	
		
			
				|  |  | +          ElapsedTime = other.ElapsedTime;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.MergeUnknownFields(other.UnknownFields);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        pb::UnknownFieldSet.Builder unknownFields = null;
 | 
	
		
			
				|  |  | +        uint tag;
 | 
	
		
			
				|  |  | +        string field_name;
 | 
	
		
			
				|  |  | +        while (input.ReadTag(out tag, out field_name)) {
 | 
	
		
			
				|  |  | +          if(tag == 0 && field_name != null) {
 | 
	
		
			
				|  |  | +            int field_ordinal = global::System.Array.BinarySearch(_routeSummaryFieldNames, field_name, global::System.StringComparer.Ordinal);
 | 
	
		
			
				|  |  | +            if(field_ordinal >= 0)
 | 
	
		
			
				|  |  | +              tag = _routeSummaryFieldTags[field_ordinal];
 | 
	
		
			
				|  |  | +            else {
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              throw pb::InvalidProtocolBufferException.InvalidTag();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                if (unknownFields != null) {
 | 
	
		
			
				|  |  | +                  this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (unknownFields == null) {
 | 
	
		
			
				|  |  | +                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 8: {
 | 
	
		
			
				|  |  | +              result.hasPointCount = input.ReadInt32(ref result.pointCount_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 16: {
 | 
	
		
			
				|  |  | +              result.hasFeatureCount = input.ReadInt32(ref result.featureCount_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 24: {
 | 
	
		
			
				|  |  | +              result.hasDistance = input.ReadInt32(ref result.distance_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 32: {
 | 
	
		
			
				|  |  | +              result.hasElapsedTime = input.ReadInt32(ref result.elapsedTime_);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (unknownFields != null) {
 | 
	
		
			
				|  |  | +          this.UnknownFields = unknownFields.Build();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasPointCount {
 | 
	
		
			
				|  |  | +        get { return result.hasPointCount; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int PointCount {
 | 
	
		
			
				|  |  | +        get { return result.PointCount; }
 | 
	
		
			
				|  |  | +        set { SetPointCount(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetPointCount(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasPointCount = true;
 | 
	
		
			
				|  |  | +        result.pointCount_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearPointCount() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasPointCount = false;
 | 
	
		
			
				|  |  | +        result.pointCount_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasFeatureCount {
 | 
	
		
			
				|  |  | +        get { return result.hasFeatureCount; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int FeatureCount {
 | 
	
		
			
				|  |  | +        get { return result.FeatureCount; }
 | 
	
		
			
				|  |  | +        set { SetFeatureCount(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetFeatureCount(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasFeatureCount = true;
 | 
	
		
			
				|  |  | +        result.featureCount_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearFeatureCount() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasFeatureCount = false;
 | 
	
		
			
				|  |  | +        result.featureCount_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasDistance {
 | 
	
		
			
				|  |  | +        get { return result.hasDistance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int Distance {
 | 
	
		
			
				|  |  | +        get { return result.Distance; }
 | 
	
		
			
				|  |  | +        set { SetDistance(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetDistance(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasDistance = true;
 | 
	
		
			
				|  |  | +        result.distance_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearDistance() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasDistance = false;
 | 
	
		
			
				|  |  | +        result.distance_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      public bool HasElapsedTime {
 | 
	
		
			
				|  |  | +        get { return result.hasElapsedTime; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int ElapsedTime {
 | 
	
		
			
				|  |  | +        get { return result.ElapsedTime; }
 | 
	
		
			
				|  |  | +        set { SetElapsedTime(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetElapsedTime(int value) {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasElapsedTime = true;
 | 
	
		
			
				|  |  | +        result.elapsedTime_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearElapsedTime() {
 | 
	
		
			
				|  |  | +        PrepareBuilder();
 | 
	
		
			
				|  |  | +        result.hasElapsedTime = false;
 | 
	
		
			
				|  |  | +        result.elapsedTime_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static RouteSummary() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::examples.Proto.RouteGuide.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  #endregion
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#endregion Designer generated code
 |