// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: star_tower_rank.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Proto {

  /// <summary>Holder for reflection information generated from star_tower_rank.proto</summary>
  public static partial class StarTowerRankReflection {

    #region Descriptor
    /// <summary>File descriptor for star_tower_rank.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static StarTowerRankReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChVzdGFyX3Rvd2VyX3JhbmsucHJvdG8SBXByb3RvGh90cmF2ZWxlcl9kdWVs",
            "X3JhbmtfdXBsb2FkLnByb3RvIooBChFTdGFyVG93ZXJSYW5rSW5mbxIXCg9M",
            "YXN0UmVmcmVzaFRpbWUYASABKAMSIgoEU2VsZhgCIAEoCzIULnByb3RvLlRv",
            "d2VyUmFua0RhdGESIgoEUmFuaxgDIAMoCzIULnByb3RvLlRvd2VyUmFua0Rh",
            "dGESFAoLTmV4dFBhY2thZ2UY/w8gASgMIkAKDVRvd2VyUmFua0NoYXISCgoC",
            "SWQYASABKA0SDQoFTGV2ZWwYAiABKA0SFAoLTmV4dFBhY2thZ2UY/w8gASgM",
            "IrECCg1Ub3dlclJhbmtEYXRhEgoKAklkGAEgASgEEhAKCE5pY2tOYW1lGAIg",
            "ASgJEhIKCldvcmxkQ2xhc3MYAyABKA0SEAoISGVhZEljb24YBCABKA0SDQoF",
            "U2NvcmUYBSABKA0SDAoEUmFuaxgGIAEoDRISCgpCdWlsZFNjb3JlGAcgASgN",
            "EhMKC1RpdGxlUHJlZml4GAggASgNEhMKC1RpdGxlU3VmZml4GAkgASgNEhIK",
            "CkRpZmZpY3VsdHkYCiABKA0SEAoIRHVyYXRpb24YCyABKA0SIwoFQ2hhcnMY",
            "DCADKAsyFC5wcm90by5Ub3dlclJhbmtDaGFyEiAKBkhvbm9ycxgPIAMoCzIQ",
            "LnByb3RvLkhvbm9ySW5mbxIUCgtOZXh0UGFja2FnZRj/DyABKAwiVAoSVG93",
            "ZXJCYXR0bGVTYW1wbGVzEigKBlNhbXBsZRgBIAMoCzIYLnByb3RvLlRvd2Vy",
            "QmF0dGxlU2FtcGxlEhQKC05leHRQYWNrYWdlGP8PIAEoDCJ3Cg9Ub3dlckJh",
            "dHRsZURhdGESIgoETWV0YRgBIAEoCzIULnByb3RvLlRvd2VyTWV0YUluZm8S",
            "KgoHU2FtcGxlcxgCIAEoCzIZLnByb3RvLlRvd2VyQmF0dGxlU2FtcGxlcxIU",
            "CgtOZXh0UGFja2FnZRj/DyABKAwixgEKDVRvd2VyTWV0YUluZm8SCgoCSWQY",
            "ASABKAQSDAoEWm9uZRgCIAEoCRIPCgdUb3dlcklkGAMgASgNEg4KBlNlYXNv",
            "bhgEIAEoDRIQCghQbGF5ZXJJZBgFIAEoBBIQCghOaWNrbmFtZRgGIAEoCRIQ",
            "CghEdXJhdGlvbhgHIAEoDRISCgpEaWZmaWN1bHR5GAggASgNEgwKBFJhbmsY",
            "CSABKA0SDAoEVGltZRgKIAEoAxIUCgtOZXh0UGFja2FnZRj/DyABKAwiegoR",
            "VG93ZXJCYXR0bGVTYW1wbGUSDQoFTWFwSWQYASABKA0SDwoHVmVyc2lvbhgC",
            "IAEoDRIvCgZTYW1wbGUYAyADKAsyHy5wcm90by5UcmF2ZWxlckR1ZWxCYXR0",
            "bGVTYW1wbGUSFAoLTmV4dFBhY2thZ2UY/w8gASgMUABiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Proto.TravelerDuelRankUploadReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.StarTowerRankInfo), global::Proto.StarTowerRankInfo.Parser, new[]{ "LastRefreshTime", "Self", "Rank", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerRankChar), global::Proto.TowerRankChar.Parser, new[]{ "Id", "Level", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerRankData), global::Proto.TowerRankData.Parser, new[]{ "Id", "NickName", "WorldClass", "HeadIcon", "Score", "Rank", "BuildScore", "TitlePrefix", "TitleSuffix", "Difficulty", "Duration", "Chars", "Honors", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerBattleSamples), global::Proto.TowerBattleSamples.Parser, new[]{ "Sample", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerBattleData), global::Proto.TowerBattleData.Parser, new[]{ "Meta", "Samples", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerMetaInfo), global::Proto.TowerMetaInfo.Parser, new[]{ "Id", "Zone", "TowerId", "Season", "PlayerId", "Nickname", "Duration", "Difficulty", "Rank", "Time", "NextPackage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.TowerBattleSample), global::Proto.TowerBattleSample.Parser, new[]{ "MapId", "Version", "Sample", "NextPackage" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerRankInfo : pb::IMessage<StarTowerRankInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerRankInfo> _parser = new pb::MessageParser<StarTowerRankInfo>(() => new StarTowerRankInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerRankInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankInfo(StarTowerRankInfo other) : this() {
      lastRefreshTime_ = other.lastRefreshTime_;
      self_ = other.self_ != null ? other.self_.Clone() : null;
      rank_ = other.rank_.Clone();
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankInfo Clone() {
      return new StarTowerRankInfo(this);
    }

    /// <summary>Field number for the "LastRefreshTime" field.</summary>
    public const int LastRefreshTimeFieldNumber = 1;
    private long lastRefreshTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long LastRefreshTime {
      get { return lastRefreshTime_; }
      set {
        lastRefreshTime_ = value;
      }
    }

    /// <summary>Field number for the "Self" field.</summary>
    public const int SelfFieldNumber = 2;
    private global::Proto.TowerRankData self_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.TowerRankData Self {
      get { return self_; }
      set {
        self_ = value;
      }
    }

    /// <summary>Field number for the "Rank" field.</summary>
    public const int RankFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Proto.TowerRankData> _repeated_rank_codec
        = pb::FieldCodec.ForMessage(26, global::Proto.TowerRankData.Parser);
    private readonly pbc::RepeatedField<global::Proto.TowerRankData> rank_ = new pbc::RepeatedField<global::Proto.TowerRankData>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.TowerRankData> Rank {
      get { return rank_; }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerRankInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerRankInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (LastRefreshTime != other.LastRefreshTime) return false;
      if (!object.Equals(Self, other.Self)) return false;
      if(!rank_.Equals(other.rank_)) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (LastRefreshTime != 0L) hash ^= LastRefreshTime.GetHashCode();
      if (self_ != null) hash ^= Self.GetHashCode();
      hash ^= rank_.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (LastRefreshTime != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(LastRefreshTime);
      }
      if (self_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Self);
      }
      rank_.WriteTo(output, _repeated_rank_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (LastRefreshTime != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(LastRefreshTime);
      }
      if (self_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Self);
      }
      rank_.WriteTo(ref output, _repeated_rank_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (LastRefreshTime != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastRefreshTime);
      }
      if (self_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Self);
      }
      size += rank_.CalculateSize(_repeated_rank_codec);
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerRankInfo other) {
      if (other == null) {
        return;
      }
      if (other.LastRefreshTime != 0L) {
        LastRefreshTime = other.LastRefreshTime;
      }
      if (other.self_ != null) {
        if (self_ == null) {
          Self = new global::Proto.TowerRankData();
        }
        Self.MergeFrom(other.Self);
      }
      rank_.Add(other.rank_);
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            LastRefreshTime = input.ReadInt64();
            break;
          }
          case 18: {
            if (self_ == null) {
              Self = new global::Proto.TowerRankData();
            }
            input.ReadMessage(Self);
            break;
          }
          case 26: {
            rank_.AddEntriesFrom(input, _repeated_rank_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            LastRefreshTime = input.ReadInt64();
            break;
          }
          case 18: {
            if (self_ == null) {
              Self = new global::Proto.TowerRankData();
            }
            input.ReadMessage(Self);
            break;
          }
          case 26: {
            rank_.AddEntriesFrom(ref input, _repeated_rank_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerRankChar : pb::IMessage<TowerRankChar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerRankChar> _parser = new pb::MessageParser<TowerRankChar>(() => new TowerRankChar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerRankChar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankChar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankChar(TowerRankChar other) : this() {
      id_ = other.id_;
      level_ = other.level_;
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankChar Clone() {
      return new TowerRankChar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private uint id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 2;
    private uint level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerRankChar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerRankChar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Level != other.Level) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Level);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Level);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Level);
      }
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerRankChar other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 16: {
            Level = input.ReadUInt32();
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 16: {
            Level = input.ReadUInt32();
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerRankData : pb::IMessage<TowerRankData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerRankData> _parser = new pb::MessageParser<TowerRankData>(() => new TowerRankData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerRankData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankData(TowerRankData other) : this() {
      id_ = other.id_;
      nickName_ = other.nickName_;
      worldClass_ = other.worldClass_;
      headIcon_ = other.headIcon_;
      score_ = other.score_;
      rank_ = other.rank_;
      buildScore_ = other.buildScore_;
      titlePrefix_ = other.titlePrefix_;
      titleSuffix_ = other.titleSuffix_;
      difficulty_ = other.difficulty_;
      duration_ = other.duration_;
      chars_ = other.chars_.Clone();
      honors_ = other.honors_.Clone();
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerRankData Clone() {
      return new TowerRankData(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private ulong id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "NickName" field.</summary>
    public const int NickNameFieldNumber = 2;
    private string nickName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NickName {
      get { return nickName_; }
      set {
        nickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "WorldClass" field.</summary>
    public const int WorldClassFieldNumber = 3;
    private uint worldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint WorldClass {
      get { return worldClass_; }
      set {
        worldClass_ = value;
      }
    }

    /// <summary>Field number for the "HeadIcon" field.</summary>
    public const int HeadIconFieldNumber = 4;
    private uint headIcon_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint HeadIcon {
      get { return headIcon_; }
      set {
        headIcon_ = value;
      }
    }

    /// <summary>Field number for the "Score" field.</summary>
    public const int ScoreFieldNumber = 5;
    private uint score_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Score {
      get { return score_; }
      set {
        score_ = value;
      }
    }

    /// <summary>Field number for the "Rank" field.</summary>
    public const int RankFieldNumber = 6;
    private uint rank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Rank {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }

    /// <summary>Field number for the "BuildScore" field.</summary>
    public const int BuildScoreFieldNumber = 7;
    private uint buildScore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint BuildScore {
      get { return buildScore_; }
      set {
        buildScore_ = value;
      }
    }

    /// <summary>Field number for the "TitlePrefix" field.</summary>
    public const int TitlePrefixFieldNumber = 8;
    private uint titlePrefix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint TitlePrefix {
      get { return titlePrefix_; }
      set {
        titlePrefix_ = value;
      }
    }

    /// <summary>Field number for the "TitleSuffix" field.</summary>
    public const int TitleSuffixFieldNumber = 9;
    private uint titleSuffix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint TitleSuffix {
      get { return titleSuffix_; }
      set {
        titleSuffix_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 10;
    private uint difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "Duration" field.</summary>
    public const int DurationFieldNumber = 11;
    private uint duration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Duration {
      get { return duration_; }
      set {
        duration_ = value;
      }
    }

    /// <summary>Field number for the "Chars" field.</summary>
    public const int CharsFieldNumber = 12;
    private static readonly pb::FieldCodec<global::Proto.TowerRankChar> _repeated_chars_codec
        = pb::FieldCodec.ForMessage(98, global::Proto.TowerRankChar.Parser);
    private readonly pbc::RepeatedField<global::Proto.TowerRankChar> chars_ = new pbc::RepeatedField<global::Proto.TowerRankChar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.TowerRankChar> Chars {
      get { return chars_; }
    }

    /// <summary>Field number for the "Honors" field.</summary>
    public const int HonorsFieldNumber = 15;
    private static readonly pb::FieldCodec<global::Proto.HonorInfo> _repeated_honors_codec
        = pb::FieldCodec.ForMessage(122, global::Proto.HonorInfo.Parser);
    private readonly pbc::RepeatedField<global::Proto.HonorInfo> honors_ = new pbc::RepeatedField<global::Proto.HonorInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.HonorInfo> Honors {
      get { return honors_; }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerRankData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerRankData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NickName != other.NickName) return false;
      if (WorldClass != other.WorldClass) return false;
      if (HeadIcon != other.HeadIcon) return false;
      if (Score != other.Score) return false;
      if (Rank != other.Rank) return false;
      if (BuildScore != other.BuildScore) return false;
      if (TitlePrefix != other.TitlePrefix) return false;
      if (TitleSuffix != other.TitleSuffix) return false;
      if (Difficulty != other.Difficulty) return false;
      if (Duration != other.Duration) return false;
      if(!chars_.Equals(other.chars_)) return false;
      if(!honors_.Equals(other.honors_)) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0UL) hash ^= Id.GetHashCode();
      if (NickName.Length != 0) hash ^= NickName.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      if (HeadIcon != 0) hash ^= HeadIcon.GetHashCode();
      if (Score != 0) hash ^= Score.GetHashCode();
      if (Rank != 0) hash ^= Rank.GetHashCode();
      if (BuildScore != 0) hash ^= BuildScore.GetHashCode();
      if (TitlePrefix != 0) hash ^= TitlePrefix.GetHashCode();
      if (TitleSuffix != 0) hash ^= TitleSuffix.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (Duration != 0) hash ^= Duration.GetHashCode();
      hash ^= chars_.GetHashCode();
      hash ^= honors_.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0UL) {
        output.WriteRawTag(8);
        output.WriteUInt64(Id);
      }
      if (NickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NickName);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(WorldClass);
      }
      if (HeadIcon != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(HeadIcon);
      }
      if (Score != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(Score);
      }
      if (Rank != 0) {
        output.WriteRawTag(48);
        output.WriteUInt32(Rank);
      }
      if (BuildScore != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(BuildScore);
      }
      if (TitlePrefix != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(TitlePrefix);
      }
      if (TitleSuffix != 0) {
        output.WriteRawTag(72);
        output.WriteUInt32(TitleSuffix);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(80);
        output.WriteUInt32(Difficulty);
      }
      if (Duration != 0) {
        output.WriteRawTag(88);
        output.WriteUInt32(Duration);
      }
      chars_.WriteTo(output, _repeated_chars_codec);
      honors_.WriteTo(output, _repeated_honors_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0UL) {
        output.WriteRawTag(8);
        output.WriteUInt64(Id);
      }
      if (NickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NickName);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(WorldClass);
      }
      if (HeadIcon != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(HeadIcon);
      }
      if (Score != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(Score);
      }
      if (Rank != 0) {
        output.WriteRawTag(48);
        output.WriteUInt32(Rank);
      }
      if (BuildScore != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(BuildScore);
      }
      if (TitlePrefix != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(TitlePrefix);
      }
      if (TitleSuffix != 0) {
        output.WriteRawTag(72);
        output.WriteUInt32(TitleSuffix);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(80);
        output.WriteUInt32(Difficulty);
      }
      if (Duration != 0) {
        output.WriteRawTag(88);
        output.WriteUInt32(Duration);
      }
      chars_.WriteTo(ref output, _repeated_chars_codec);
      honors_.WriteTo(ref output, _repeated_honors_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
      }
      if (NickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NickName);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(WorldClass);
      }
      if (HeadIcon != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(HeadIcon);
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Score);
      }
      if (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Rank);
      }
      if (BuildScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(BuildScore);
      }
      if (TitlePrefix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TitlePrefix);
      }
      if (TitleSuffix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TitleSuffix);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Difficulty);
      }
      if (Duration != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Duration);
      }
      size += chars_.CalculateSize(_repeated_chars_codec);
      size += honors_.CalculateSize(_repeated_honors_codec);
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerRankData other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0UL) {
        Id = other.Id;
      }
      if (other.NickName.Length != 0) {
        NickName = other.NickName;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      if (other.HeadIcon != 0) {
        HeadIcon = other.HeadIcon;
      }
      if (other.Score != 0) {
        Score = other.Score;
      }
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      if (other.BuildScore != 0) {
        BuildScore = other.BuildScore;
      }
      if (other.TitlePrefix != 0) {
        TitlePrefix = other.TitlePrefix;
      }
      if (other.TitleSuffix != 0) {
        TitleSuffix = other.TitleSuffix;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.Duration != 0) {
        Duration = other.Duration;
      }
      chars_.Add(other.chars_);
      honors_.Add(other.honors_);
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt64();
            break;
          }
          case 18: {
            NickName = input.ReadString();
            break;
          }
          case 24: {
            WorldClass = input.ReadUInt32();
            break;
          }
          case 32: {
            HeadIcon = input.ReadUInt32();
            break;
          }
          case 40: {
            Score = input.ReadUInt32();
            break;
          }
          case 48: {
            Rank = input.ReadUInt32();
            break;
          }
          case 56: {
            BuildScore = input.ReadUInt32();
            break;
          }
          case 64: {
            TitlePrefix = input.ReadUInt32();
            break;
          }
          case 72: {
            TitleSuffix = input.ReadUInt32();
            break;
          }
          case 80: {
            Difficulty = input.ReadUInt32();
            break;
          }
          case 88: {
            Duration = input.ReadUInt32();
            break;
          }
          case 98: {
            chars_.AddEntriesFrom(input, _repeated_chars_codec);
            break;
          }
          case 122: {
            honors_.AddEntriesFrom(input, _repeated_honors_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt64();
            break;
          }
          case 18: {
            NickName = input.ReadString();
            break;
          }
          case 24: {
            WorldClass = input.ReadUInt32();
            break;
          }
          case 32: {
            HeadIcon = input.ReadUInt32();
            break;
          }
          case 40: {
            Score = input.ReadUInt32();
            break;
          }
          case 48: {
            Rank = input.ReadUInt32();
            break;
          }
          case 56: {
            BuildScore = input.ReadUInt32();
            break;
          }
          case 64: {
            TitlePrefix = input.ReadUInt32();
            break;
          }
          case 72: {
            TitleSuffix = input.ReadUInt32();
            break;
          }
          case 80: {
            Difficulty = input.ReadUInt32();
            break;
          }
          case 88: {
            Duration = input.ReadUInt32();
            break;
          }
          case 98: {
            chars_.AddEntriesFrom(ref input, _repeated_chars_codec);
            break;
          }
          case 122: {
            honors_.AddEntriesFrom(ref input, _repeated_honors_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerBattleSamples : pb::IMessage<TowerBattleSamples>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerBattleSamples> _parser = new pb::MessageParser<TowerBattleSamples>(() => new TowerBattleSamples());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerBattleSamples> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSamples() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSamples(TowerBattleSamples other) : this() {
      sample_ = other.sample_.Clone();
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSamples Clone() {
      return new TowerBattleSamples(this);
    }

    /// <summary>Field number for the "Sample" field.</summary>
    public const int SampleFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Proto.TowerBattleSample> _repeated_sample_codec
        = pb::FieldCodec.ForMessage(10, global::Proto.TowerBattleSample.Parser);
    private readonly pbc::RepeatedField<global::Proto.TowerBattleSample> sample_ = new pbc::RepeatedField<global::Proto.TowerBattleSample>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.TowerBattleSample> Sample {
      get { return sample_; }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerBattleSamples);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerBattleSamples other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!sample_.Equals(other.sample_)) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= sample_.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      sample_.WriteTo(output, _repeated_sample_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      sample_.WriteTo(ref output, _repeated_sample_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += sample_.CalculateSize(_repeated_sample_codec);
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerBattleSamples other) {
      if (other == null) {
        return;
      }
      sample_.Add(other.sample_);
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            sample_.AddEntriesFrom(input, _repeated_sample_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            sample_.AddEntriesFrom(ref input, _repeated_sample_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerBattleData : pb::IMessage<TowerBattleData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerBattleData> _parser = new pb::MessageParser<TowerBattleData>(() => new TowerBattleData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerBattleData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleData(TowerBattleData other) : this() {
      meta_ = other.meta_ != null ? other.meta_.Clone() : null;
      samples_ = other.samples_ != null ? other.samples_.Clone() : null;
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleData Clone() {
      return new TowerBattleData(this);
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 1;
    private global::Proto.TowerMetaInfo meta_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.TowerMetaInfo Meta {
      get { return meta_; }
      set {
        meta_ = value;
      }
    }

    /// <summary>Field number for the "Samples" field.</summary>
    public const int SamplesFieldNumber = 2;
    private global::Proto.TowerBattleSamples samples_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.TowerBattleSamples Samples {
      get { return samples_; }
      set {
        samples_ = value;
      }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerBattleData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerBattleData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Meta, other.Meta)) return false;
      if (!object.Equals(Samples, other.Samples)) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (meta_ != null) hash ^= Meta.GetHashCode();
      if (samples_ != null) hash ^= Samples.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (meta_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Meta);
      }
      if (samples_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Samples);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (meta_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Meta);
      }
      if (samples_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Samples);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (meta_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Meta);
      }
      if (samples_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Samples);
      }
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerBattleData other) {
      if (other == null) {
        return;
      }
      if (other.meta_ != null) {
        if (meta_ == null) {
          Meta = new global::Proto.TowerMetaInfo();
        }
        Meta.MergeFrom(other.Meta);
      }
      if (other.samples_ != null) {
        if (samples_ == null) {
          Samples = new global::Proto.TowerBattleSamples();
        }
        Samples.MergeFrom(other.Samples);
      }
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (meta_ == null) {
              Meta = new global::Proto.TowerMetaInfo();
            }
            input.ReadMessage(Meta);
            break;
          }
          case 18: {
            if (samples_ == null) {
              Samples = new global::Proto.TowerBattleSamples();
            }
            input.ReadMessage(Samples);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (meta_ == null) {
              Meta = new global::Proto.TowerMetaInfo();
            }
            input.ReadMessage(Meta);
            break;
          }
          case 18: {
            if (samples_ == null) {
              Samples = new global::Proto.TowerBattleSamples();
            }
            input.ReadMessage(Samples);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerMetaInfo : pb::IMessage<TowerMetaInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerMetaInfo> _parser = new pb::MessageParser<TowerMetaInfo>(() => new TowerMetaInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerMetaInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerMetaInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerMetaInfo(TowerMetaInfo other) : this() {
      id_ = other.id_;
      zone_ = other.zone_;
      towerId_ = other.towerId_;
      season_ = other.season_;
      playerId_ = other.playerId_;
      nickname_ = other.nickname_;
      duration_ = other.duration_;
      difficulty_ = other.difficulty_;
      rank_ = other.rank_;
      time_ = other.time_;
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerMetaInfo Clone() {
      return new TowerMetaInfo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private ulong id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Zone" field.</summary>
    public const int ZoneFieldNumber = 2;
    private string zone_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Zone {
      get { return zone_; }
      set {
        zone_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TowerId" field.</summary>
    public const int TowerIdFieldNumber = 3;
    private uint towerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint TowerId {
      get { return towerId_; }
      set {
        towerId_ = value;
      }
    }

    /// <summary>Field number for the "Season" field.</summary>
    public const int SeasonFieldNumber = 4;
    private uint season_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Season {
      get { return season_; }
      set {
        season_ = value;
      }
    }

    /// <summary>Field number for the "PlayerId" field.</summary>
    public const int PlayerIdFieldNumber = 5;
    private ulong playerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong PlayerId {
      get { return playerId_; }
      set {
        playerId_ = value;
      }
    }

    /// <summary>Field number for the "Nickname" field.</summary>
    public const int NicknameFieldNumber = 6;
    private string nickname_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Nickname {
      get { return nickname_; }
      set {
        nickname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Duration" field.</summary>
    public const int DurationFieldNumber = 7;
    private uint duration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Duration {
      get { return duration_; }
      set {
        duration_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 8;
    private uint difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "Rank" field.</summary>
    public const int RankFieldNumber = 9;
    private uint rank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Rank {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }

    /// <summary>Field number for the "Time" field.</summary>
    public const int TimeFieldNumber = 10;
    private long time_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Time {
      get { return time_; }
      set {
        time_ = value;
      }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerMetaInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerMetaInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Zone != other.Zone) return false;
      if (TowerId != other.TowerId) return false;
      if (Season != other.Season) return false;
      if (PlayerId != other.PlayerId) return false;
      if (Nickname != other.Nickname) return false;
      if (Duration != other.Duration) return false;
      if (Difficulty != other.Difficulty) return false;
      if (Rank != other.Rank) return false;
      if (Time != other.Time) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0UL) hash ^= Id.GetHashCode();
      if (Zone.Length != 0) hash ^= Zone.GetHashCode();
      if (TowerId != 0) hash ^= TowerId.GetHashCode();
      if (Season != 0) hash ^= Season.GetHashCode();
      if (PlayerId != 0UL) hash ^= PlayerId.GetHashCode();
      if (Nickname.Length != 0) hash ^= Nickname.GetHashCode();
      if (Duration != 0) hash ^= Duration.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (Rank != 0) hash ^= Rank.GetHashCode();
      if (Time != 0L) hash ^= Time.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0UL) {
        output.WriteRawTag(8);
        output.WriteUInt64(Id);
      }
      if (Zone.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Zone);
      }
      if (TowerId != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(TowerId);
      }
      if (Season != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(Season);
      }
      if (PlayerId != 0UL) {
        output.WriteRawTag(40);
        output.WriteUInt64(PlayerId);
      }
      if (Nickname.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Nickname);
      }
      if (Duration != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(Duration);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(Difficulty);
      }
      if (Rank != 0) {
        output.WriteRawTag(72);
        output.WriteUInt32(Rank);
      }
      if (Time != 0L) {
        output.WriteRawTag(80);
        output.WriteInt64(Time);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0UL) {
        output.WriteRawTag(8);
        output.WriteUInt64(Id);
      }
      if (Zone.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Zone);
      }
      if (TowerId != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(TowerId);
      }
      if (Season != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(Season);
      }
      if (PlayerId != 0UL) {
        output.WriteRawTag(40);
        output.WriteUInt64(PlayerId);
      }
      if (Nickname.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Nickname);
      }
      if (Duration != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(Duration);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(Difficulty);
      }
      if (Rank != 0) {
        output.WriteRawTag(72);
        output.WriteUInt32(Rank);
      }
      if (Time != 0L) {
        output.WriteRawTag(80);
        output.WriteInt64(Time);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
      }
      if (Zone.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Zone);
      }
      if (TowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TowerId);
      }
      if (Season != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Season);
      }
      if (PlayerId != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PlayerId);
      }
      if (Nickname.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Nickname);
      }
      if (Duration != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Duration);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Difficulty);
      }
      if (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Rank);
      }
      if (Time != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Time);
      }
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerMetaInfo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0UL) {
        Id = other.Id;
      }
      if (other.Zone.Length != 0) {
        Zone = other.Zone;
      }
      if (other.TowerId != 0) {
        TowerId = other.TowerId;
      }
      if (other.Season != 0) {
        Season = other.Season;
      }
      if (other.PlayerId != 0UL) {
        PlayerId = other.PlayerId;
      }
      if (other.Nickname.Length != 0) {
        Nickname = other.Nickname;
      }
      if (other.Duration != 0) {
        Duration = other.Duration;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      if (other.Time != 0L) {
        Time = other.Time;
      }
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt64();
            break;
          }
          case 18: {
            Zone = input.ReadString();
            break;
          }
          case 24: {
            TowerId = input.ReadUInt32();
            break;
          }
          case 32: {
            Season = input.ReadUInt32();
            break;
          }
          case 40: {
            PlayerId = input.ReadUInt64();
            break;
          }
          case 50: {
            Nickname = input.ReadString();
            break;
          }
          case 56: {
            Duration = input.ReadUInt32();
            break;
          }
          case 64: {
            Difficulty = input.ReadUInt32();
            break;
          }
          case 72: {
            Rank = input.ReadUInt32();
            break;
          }
          case 80: {
            Time = input.ReadInt64();
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt64();
            break;
          }
          case 18: {
            Zone = input.ReadString();
            break;
          }
          case 24: {
            TowerId = input.ReadUInt32();
            break;
          }
          case 32: {
            Season = input.ReadUInt32();
            break;
          }
          case 40: {
            PlayerId = input.ReadUInt64();
            break;
          }
          case 50: {
            Nickname = input.ReadString();
            break;
          }
          case 56: {
            Duration = input.ReadUInt32();
            break;
          }
          case 64: {
            Difficulty = input.ReadUInt32();
            break;
          }
          case 72: {
            Rank = input.ReadUInt32();
            break;
          }
          case 80: {
            Time = input.ReadInt64();
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TowerBattleSample : pb::IMessage<TowerBattleSample>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TowerBattleSample> _parser = new pb::MessageParser<TowerBattleSample>(() => new TowerBattleSample());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TowerBattleSample> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Proto.StarTowerRankReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSample() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSample(TowerBattleSample other) : this() {
      mapId_ = other.mapId_;
      version_ = other.version_;
      sample_ = other.sample_.Clone();
      nextPackage_ = other.nextPackage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TowerBattleSample Clone() {
      return new TowerBattleSample(this);
    }

    /// <summary>Field number for the "MapId" field.</summary>
    public const int MapIdFieldNumber = 1;
    private uint mapId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint MapId {
      get { return mapId_; }
      set {
        mapId_ = value;
      }
    }

    /// <summary>Field number for the "Version" field.</summary>
    public const int VersionFieldNumber = 2;
    private uint version_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Version {
      get { return version_; }
      set {
        version_ = value;
      }
    }

    /// <summary>Field number for the "Sample" field.</summary>
    public const int SampleFieldNumber = 3;
    private static readonly pb::FieldCodec<global::Proto.TravelerDuelBattleSample> _repeated_sample_codec
        = pb::FieldCodec.ForMessage(26, global::Proto.TravelerDuelBattleSample.Parser);
    private readonly pbc::RepeatedField<global::Proto.TravelerDuelBattleSample> sample_ = new pbc::RepeatedField<global::Proto.TravelerDuelBattleSample>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.TravelerDuelBattleSample> Sample {
      get { return sample_; }
    }

    /// <summary>Field number for the "NextPackage" field.</summary>
    public const int NextPackageFieldNumber = 2047;
    private pb::ByteString nextPackage_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString NextPackage {
      get { return nextPackage_; }
      set {
        nextPackage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TowerBattleSample);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TowerBattleSample other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MapId != other.MapId) return false;
      if (Version != other.Version) return false;
      if(!sample_.Equals(other.sample_)) return false;
      if (NextPackage != other.NextPackage) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (MapId != 0) hash ^= MapId.GetHashCode();
      if (Version != 0) hash ^= Version.GetHashCode();
      hash ^= sample_.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (MapId != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(MapId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Version);
      }
      sample_.WriteTo(output, _repeated_sample_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (MapId != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(MapId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(Version);
      }
      sample_.WriteTo(ref output, _repeated_sample_codec);
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (MapId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MapId);
      }
      if (Version != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Version);
      }
      size += sample_.CalculateSize(_repeated_sample_codec);
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TowerBattleSample other) {
      if (other == null) {
        return;
      }
      if (other.MapId != 0) {
        MapId = other.MapId;
      }
      if (other.Version != 0) {
        Version = other.Version;
      }
      sample_.Add(other.sample_);
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            MapId = input.ReadUInt32();
            break;
          }
          case 16: {
            Version = input.ReadUInt32();
            break;
          }
          case 26: {
            sample_.AddEntriesFrom(input, _repeated_sample_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            MapId = input.ReadUInt32();
            break;
          }
          case 16: {
            Version = input.ReadUInt32();
            break;
          }
          case 26: {
            sample_.AddEntriesFrom(ref input, _repeated_sample_codec);
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
