| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873 | // Generated by the protocol buffer compiler.  DO NOT EDIT!// source: route_guide.proto#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing 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
 |